...
Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Description
Burrow is known as the Hyperledger Ethereum project but growing up alongside other clients like go-ethereum, circa 2015 it developed a parallel RPC system. This separates it from the rest of Ethereum-land and means the ecosystem of tooling (e.g. the excellent Truffle, Metamask, Remix IDE) cannot be used with Burrow despite us being compatible at the virtual machine level. So to pave the way for better interoperability between burrow and mainstream Ethereum tooling we would like a to implement the web3 RPC. Actually we'd like you to implement it .
This project will involve collaborating with Fabric who have made a good start on Go-based web3 support for Fabric
Additional Information
The first part of this project will involve understanding how current Web3 architectures are implemented, the best place to start is with the Ethereum documentation:
...
Learning Objectives
- Learn how to get stuff down in an open source community of corporate competitors
- Work across teams from IBM, Intel, and Bitwise within Hyperledger
- Learn how to implement a high performance Go HTTP API
- Understand the account and transaction model of Ethereum
- Develop an intuition for the trade-offs when integrating systems
- How to protect yourself in the case of a marmot attack
- Learn about elliptic curve signing algorithms
- Learn about binary encodings
Expected Outcome
Implement https://github.com/ethereum/wiki/wiki/JSON-RPC.
...
- Implement sendRawTransaction
- Sign and send a transaction with MetaMask (https://metamask.io/)
- Connect Burrow with Remix (https://remix.ethereum.org/)
- Debug a Burrow contract on Remix
Notes
Members of the the Fabric Team (Swetha Repakula is your contact) have developed some lovely modular web3 code https://github.com/hyperledger/fabric-chaincode-evm/tree/master/fab3 that interacts with Fabric's implementation of Burrow. As have the Sawtooth team with https://github.com/hyperledger/sawtooth-seth/tree/master/rpc written in Rust and so is a little harder to integrate Burrow. We should find a way to share the Fabric fab3 code and extend it so both projects can benefit.
...
Remix debugging requires elements of the Ethereum management API. Some research will be required to scope this out.
Relation to Hyperledger
Hyperledger Burrow - with effects on Fabric-ChainCode-EVM and Sawtooth-Seth via their Burrow integrations.
Education Level
If you think you can do the work, please apply.
Skills
Basic understanding of client / server architectures. Working knowledge of JavaScript and Go preferred but not essential. Good research skills, willingness to learn and try new things. Ability to lie very still and very quiet during a marmot attack.
Future plans
The web3 project will continue to mature to provide parity with mainstream Ethereum clients.
If you would like to continue contributing; this internship is on the maintainer track for Burrow (get hired on your commit history...).
Preferred Hours and Length of Internship
Full-time (40 hours) or part-time (20 hours) available.
Mentor(s) Names and Contact Info
Sean Young, Sean Young, Monax
...