-
Notifications
You must be signed in to change notification settings - Fork 282
Ethereum Integration #1092
Description
High level steps for adding ethereum coin to ob-go
- Make wallet interface coin agnostic
- Implement the ethereum wallet based on the wallet interface
- Modify ob-go based on the new wallet interface
- Add Ethereum wallet to MultiWallet
- Bring Multiwallet to ob-go
Make wallet interface coin agnostic:
Current wallet interface is UTXO based. For ethereum, the wallet interface should not have dependencies like btc.Address, chaincfg.Params etc.
(OpenBazaar/wallet-interface#4) addresses the removal of btc.Address.
Implement the ethereum wallet based on the wallet interface
This implementation lives in two repositories:
https://github.com/OpenBazaar/go-ethwallet - The implementation of wallet interface for ethereum
https://github.com/OpenBazaar/smart-contracts - The smart contracts used by the ethereum wallet for escrow/multisig functioanlity
Modify ob-go based on the new wallet interface
As the wallet interface inroduces changes to become coin agnostic, there will be changes to the ob-go code. E.g., the Childkey method now delegates the responsibility of generating a child key for multisig to the wallet implementation rather than doing it in ob-go.
Add Ethereum wallet to MultiWallet
The ethereum wallet will be added to the existing multiwallet repository.
Bring Multiwallet to ob-go
Ob-go will support multiple cryptocurrencies (BTC, BCH, LTC, ZCASH and ETH) through multiwallet.