harmony-one / wallet-core

Cross-platform, cross-blockchain wallet library.
https://developer.trustwallet.com/wallet-core
MIT License
0 stars 0 forks source link

Develop C++ Support for Harmony Blockchain #1

Open john-harmony opened 5 years ago

john-harmony commented 5 years ago

Overview Support for Harmony Blockchain is to be developed

Background - Reference Material Communication

Key Contact

Documents

Related Tickets

Sub Tasks

Acceptance Criteria

The above steps are summarized below as a checklist:

john-harmony commented 5 years ago

Also the Protobuf definitons can be found here

john-harmony commented 5 years ago

Key Difference Harmony and Ethereum

  1. The prefix of rpc is different, 'hmy' instead of 'eth'
  2. Address format, sdk uses two, the default use checksum, it is recommended to use bech32. has been defined in the SDK
  3. Transaction uses rlp, but adds two fields, one is shardID and the other is toShardID
  4. There are some rpc Ethereum, there is no harmony, we will discuss it in detail during the process.

So for the JS project, you can directly modify the existing Ethereum library, or you can use the SDK package to see your engineering needs. The best practice is to extend the SDK's Transaction class and then add your custom part. The biggest difference is that Harmony does not use eth_sendTransaction and uses eth_sendRawTransaction to send the signed bytes. Of course, this is called hmy_sendRawTransaction Please let the engineer responsible for js communicate with me. The current test network (with RPC) is still in preparation, so please use the local node for development testing. If you need me to be a custom provider, there is no problem.

Ok Is there an open source wallet project? I haven't done it yet.

john-harmony commented 5 years ago

Ethereum C++ Projects

john-harmony commented 5 years ago

Harmony ProtoBuf definitions

john-harmony commented 5 years ago

Relevant testing testing frameworkis gtest

john-harmony commented 5 years ago

@yzhoujuly work with Charles to get the information you need. You can run sample transactions through the dapp examples - test sign and you'll need to raise a request here for the harmony public coin ID.