An OpenBazaar Steem Integration Task Breakdown(GO Developers Wanted!)

3년 전

As some of you know and many of you probably don't I have been doing a bit of work looking into the feasibility of integrating Steem into OpenBazaar. After a bit of discussion and research it seems like the integration is definitely possible. To continue forward progress I've decided to write up a short list of tasks necessary for integration. I'll do my best to outline the skills needed and difficulty of each task.

Before getting into it the github for this project is located at https://github.com/DiggnDeeper/Steem-OpenBazaar-Integration, we are on discord at https://discord.gg/zSqQG2, and upon completion of each task I'd recommend posting to Steem and tagging me, @diggndeeper.com and @steemonob. While there are currently no rewards for task completion we can at least upvote the post(it also helps with coordination). Also please make sure all tasks in each part are completed prior to moving onto the next part.

Part 1:
Task 1 - Port the wallet-interface from https://github.com/OpenBazaar/wallet-interface/blob/master/wallet.go to https://github.com/DiggnDeeper/Steem-OpenBazaar - This task will require an empty implementation of the OpenBazaar wallet to be created in our Steem repository allowing for part 2 to begin. This is an extremely easy task and only requires only basic GO knowledge.

Part 2:
Task 1 - Create the walletMustManager interface - This interface is responsible for basic wallet functionality and will require a good knowledge of the Steem API and GO but shouldn't be too hard to complete as all functions required are fairly standard to Steem.

Task 2 - Create the walletMustKeysmither and WalletMustManuallyAssociateTransactionToOrder interface - This is going to be the most difficult task as it deals with creating a way to escrow Steem that works with OpenBazaar's requirements. This will require a very in depth knowledge of GO, Steem, and Crypto coding in general. Whoever takes on this one will likely want to break this task down into smaller pieces and assign them out to help reduce workload. Of all tasks this will likely require the most work.

Task 3 - Create the walletCanBumpFee interface - I don't believe we will need to worry about this interface as simply returning an error should be fine. Assuming this holds true this task should require only basic GO knowledge.

Part 3:
Task 1 - Implement the walletMustBanker interface - This class will be used to find transaction fee costs and should be completed after the walletMustKeysmither. It shouldn't be too difficult to complete depending on the walletMustKeysmither implementation and will likely only require a decent knowledge of GO.

Part 4:
At this point we will need to reevaluate the project to determine if anything else is required. If nothing else is then we begin bug testing and integration into the actual OpenBazaar codebase.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

Response from OpenBazaar so far.

cpacia [12:14 PM]
@DiggnDeeper looks correct to me. If people are taking it on it would probably be good to coordinate. At this point we don't yet have a plugin interface so any new coins need to be specifically hardcoded into openbazaar-go and that would probably require deeper discussion with the team.If someone put in the work and was committed to maintaining it and staying up to date with changes to openbazaar as they are made we'd probably include it. But if it's just a dump of code on us that we have to maintain I think we'd have more reservations.
mg [2:14 PM]
Yes, I read through the post last night when you shared (and we'd be willing to help guide as needed). I think you might be able to get away with not implementing the full interface right off the bat...maybe focusing on the high-risk aspects to determine if the wallet impl is feasible? Let us know if you need anything from us and we'll see what we can do to help.