Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* added readme * more RPC APIs * update for comments; fix travis issues * update auto-generated host_mock.go
- Loading branch information
1 parent
d4bc279
commit fe217ad
Showing
12 changed files
with
246 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# JSON RPC | ||
|
||
## JSSDK | ||
[FireStack-Lab/Harmony-sdk-core](https://github.com/FireStack-Lab/Harmony-sdk-core) | ||
|
||
## JSON-RPC methods | ||
|
||
### Network info related | ||
* [ ] net_listening - check if network is connected | ||
* [x] hmy_protocolVersion - check protocol version | ||
* [ ] net_version - get network id | ||
* [ ] net_peerCount - peer count | ||
|
||
### BlockChain info related | ||
* [ ] hmy_gasPrice - return min-gas-price | ||
* [ ] hmy_estimateGas - calculating estimate gas using signed bytes | ||
* [ ] hmy_blockNumber - get latest block number | ||
* [x] hmy_getBlockByHash - get block by block hash | ||
* [x] hmy_getBlockByNumber | ||
* [ ] hmy_getUncleByBlockHashAndIndex - get uncle by block hash and index number | ||
* [ ] hmy_getUncleByBlockNumberAndIndex - get uncle by block number and index number | ||
* [ ] hmy_getUncleCountByBlockHash - get uncle count by block hash | ||
* [ ] hmy_getUncleCountByBlockNumber - get uncle count by block number | ||
* [ ] hmy_syncing - Returns an object with data about the sync status | ||
* [ ] hmy_coinbase - return coinbase address | ||
* [ ] hmy_mining - return if mining client is mining | ||
* [ ] hmy_hashrate - return current hash rate for blockchain | ||
|
||
|
||
### Account related | ||
* [x] hmy_getBalance - get balance for account address | ||
* [x] hmy_getTransactionCount - get nonce for account address | ||
* [ ] hmy_accounts - return accounts that lives in node | ||
|
||
### Transactions related | ||
* [ ] hmy_getTransactionReceipt - get transaction receipt by given transaction hash | ||
* [ ] hmy_sendRawTransaction - send transaction bytes(signed) to blockchain | ||
* [ ] hmy_sendTransaction - send transaction object(with signature) to blockchain | ||
* [x] hmy_getBlockTransactionCountByHash - get transaction count of block by block hash | ||
* [x] hmy_getBlockTransactionCountByNumber - get transaction count of block by block number | ||
* [x] hmy_getTransactionByHash - get transaction object of block by block hash | ||
* [x] hmy_getTransactionByBlockHashAndIndex - get transaction object of block by block hash and index number | ||
* [x] hmy_getTransactionByBlockNumberAndIndex - get transaction object of block by block number and index number | ||
* [ ] hmy_sign - sign message using node specific sign method. | ||
|
||
### Contract related | ||
* [ ] hmy_call - call contract method | ||
* [x] hmy_getCode - get deployed contract's byte code | ||
* [x] hmy_getStorageAt - get storage position at a given address | ||
* ~~[ ] hmy_getCompilers~~ - DEPRECATED | ||
* ~~[ ] hmy_compileLLL~~ - DEPRECATED | ||
* ~~[ ] hmy_compileSolidity~~ - DEPRECATED | ||
* ~~[ ] hmy_compileSerpent~~ - DEPRECATED | ||
|
||
### Subscribes | ||
* [ ] hmy_pendingTransactions - pending transaction subscriber | ||
* [ ] hmy_getLogs - log subscriber | ||
* [ ] hmy_newFilter - creates a filter object, based on filter options | ||
* [ ] hmy_newBlockFilter - creates a filter in the node, to notify when a new block arrives | ||
* [ ] hmy_newPendingTransactionFilter - creates a filter in the node, to notify when new pending transactions arrive | ||
* [ ] hmy_getFilterChanges - polling method for a filter | ||
* [ ] hmy_getFilterLogs - returns an array of all logs matching filter with given id. | ||
* [ ] hmy_uninstallFilter - uninstalls a filter with given id | ||
|
||
|
||
### Others, not very important for current stage of work | ||
* [ ] web3_clientVersion | ||
* [ ] web3_sha3 | ||
* [ ] hmy_getWork | ||
* [ ] hmy_submitWork | ||
* [ ] hmy_submitHashrate | ||
* [ ] hmy_getProof | ||
* [ ] db_putString | ||
* [ ] db_getString | ||
* [ ] db_putHex | ||
* [ ] db_getHex | ||
* [ ] shh_post | ||
* [ ] shh_version | ||
* [ ] shh_newIdentity | ||
* [ ] shh_hasIdentity | ||
* [ ] shh_newGroup | ||
* [ ] shh_addToGroup | ||
* [ ] shh_newFilter | ||
* [ ] shh_uninstallFilter | ||
* [ ] shh_getFilterChanges | ||
* [ ] shh_getMessages | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,29 @@ | ||
package hmyapi | ||
|
||
import ( | ||
"fmt" | ||
|
||
"github.com/ethereum/go-ethereum/common/hexutil" | ||
"github.com/ethereum/go-ethereum/p2p" | ||
"github.com/harmony-one/harmony/p2p" | ||
) | ||
|
||
// PublicNetAPI offers network related RPC methods | ||
type PublicNetAPI struct { | ||
net *p2p.Server | ||
networkVersion uint64 | ||
net p2p.Host | ||
networkID uint64 | ||
} | ||
|
||
// NewPublicNetAPI creates a new net API instance. | ||
func NewPublicNetAPI(net *p2p.Server, networkVersion uint64) *PublicNetAPI { | ||
return &PublicNetAPI{net, networkVersion} | ||
func NewPublicNetAPI(net p2p.Host, networkID uint64) *PublicNetAPI { | ||
return &PublicNetAPI{net, networkID} | ||
} | ||
|
||
// PeerCount returns the number of connected peers | ||
func (s *PublicNetAPI) PeerCount() hexutil.Uint { | ||
return hexutil.Uint(s.net.PeerCount()) | ||
return hexutil.Uint(s.net.GetPeerCount()) | ||
} | ||
|
||
// NetworkID ... | ||
func (s *PublicNetAPI) NetworkID() string { | ||
return fmt.Sprintf("%d", 1) // TODO(ricl): we should add support for network id (https://github.com/ethereum/wiki/wiki/JSON-RPC#net_version) | ||
} |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package hmyapi | ||
|
||
import ( | ||
"github.com/ethereum/go-ethereum/common" | ||
"github.com/harmony-one/harmony/accounts" | ||
) | ||
|
||
// PublicAccountAPI provides an API to access accounts managed by this node. | ||
// It offers only methods that can retrieve accounts. | ||
type PublicAccountAPI struct { | ||
am *accounts.Manager | ||
} | ||
|
||
// NewPublicAccountAPI creates a new PublicAccountAPI. | ||
func NewPublicAccountAPI(am *accounts.Manager) *PublicAccountAPI { | ||
return &PublicAccountAPI{am: am} | ||
} | ||
|
||
// Accounts returns the collection of accounts this node manages | ||
func (s *PublicAccountAPI) Accounts() []common.Address { | ||
addresses := make([]common.Address, 0) // return [] instead of nil if empty | ||
for _, wallet := range s.am.Wallets() { | ||
for _, account := range wallet.Accounts() { | ||
addresses = append(addresses, account.Address) | ||
} | ||
} | ||
return addresses | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.