- Notifications
You must be signed in to change notification settings - Fork30
dcb9/janus
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
- Requirements
- Installation
- Pet Shop
- Start server
- Truffle
- ERC20 with QtumJS
- Interact with QtumJS
- Try to interact with contract
- Support ETH methods
- Known issues
Created bygh-md-toc
- Golang
- Docker
- linux commands:
make
,curl
- NodeJS
- Yarn
- Truffle
$ go get github.com/dcb9/janus/...$ cd $GOPATH/src/github.com/dcb9/janus/playground$ yarn install
cd playgroundmake run init-container deploy-contracts serve-pet-shop# It will open http://localhost:3000 automatically# Two prefund accounts you can login with:# 0x7926223070547d2d15b2ef5e7383e541c338ffe9# 0x2352be3db3177f0a07efbe6da5857615b8c9901d# cleanmake stop clean-qtum-data
$ make run$ export ETH_RPC=http://0x7926223070547d2d15b2ef5e7383e541c338ffe9:@localhost:23889
it will init qtum wallet:
- import test wallet
- qUbxboqjBRp96j3La8D1RYkyqx5uQbJPoW (hex 0x7926223070547d2d15b2ef5e7383e541c338ffe9 )
- qLn9vqbr2Gx3TsVR9QyTVB5mrMoh4x43Uf (hex 0x2352be3db3177f0a07efbe6da5857615b8c9901d )
- fund two addresses above with uxtos
truffle migrate
$ truffle consoletruffle(development)> exec "./truffle-test-simpleStore.js"exec: store.get()value: 100exec: store.set(184)receipt: { tx: 'ef3469b6473c700c5775ea22c8003b7b52d720a26af0108a2ef9e2684ee77c11', receipt: { transactionHash: '0xef3469b6473c700c5775ea22c8003b7b52d720a26af0108a2ef9e2684ee77c11', transactionIndex: 1, blockHash: '0x5b276c69975588c9bcf6da3dd85187be6ff816d77d6a1bcc67f5a7cb169b79a1', blockNumber: 633, cumulativeGasUsed: 28604, gasUsed: 28604, contractAddress: '0xe2266d26dbb997f26327bf64f202061ce709e600', logs: [ [Object] ], logsBloom: '', status: '0x1' }, logs: [ { logIndex: 0, transactionIndex: 1, transactionHash: '0xef3469b6473c700c5775ea22c8003b7b52d720a26af0108a2ef9e2684ee77c11', blockHash: '0x5b276c69975588c9bcf6da3dd85187be6ff816d77d6a1bcc67f5a7cb169b79a1', blockNumber: 633, address: '0xe2266d26dbb997f26327bf64f202061ce709e600', event: 'UpdateValue', args: [Object] } ] }exec: store.get()value: 184
truffle(development)> var tokentruffle(development)> var acc1 = "0x7926223070547d2d15b2ef5e7383e541c338ffe9"truffle(development)> var acc2 = "0x2352be3db3177f0a07efbe6da5857615b8c9901d"truffle(development)> MyToken.deployed().then(function(i) { token = i })truffle(development)> token.mint(acc1, 100){ tx: '7d310aa0bdc0532af9e5fceec296d0a45225dffb3214929f8889d0788de62f80', receipt: { transactionHash: '0x7d310aa0bdc0532af9e5fceec296d0a45225dffb3214929f8889d0788de62f80', transactionIndex: 1, blockHash: '0x4735770fe79995cbfbe905241f305373733e310ae1b74d4bb49731930d909c66', blockNumber: 638, cumulativeGasUsed: 68569, gasUsed: 68569, contractAddress: '0xa6f433f17ceedaea685fbb9a5d0776c50c84a2cd', logs: [ [Object], [Object] ], logsBloom: '', status: '0x1' }, logs: [ { logIndex: 0, transactionIndex: 1, transactionHash: '0x7d310aa0bdc0532af9e5fceec296d0a45225dffb3214929f8889d0788de62f80', blockHash: '0x4735770fe79995cbfbe905241f305373733e310ae1b74d4bb49731930d909c66', blockNumber: 638, address: '0xa6f433f17ceedaea685fbb9a5d0776c50c84a2cd', event: 'Mint', args: [Object] }, { logIndex: 1, transactionIndex: 1, transactionHash: '0x7d310aa0bdc0532af9e5fceec296d0a45225dffb3214929f8889d0788de62f80', blockHash: '0x4735770fe79995cbfbe905241f305373733e310ae1b74d4bb49731930d909c66', blockNumber: 638, address: '0xa6f433f17ceedaea685fbb9a5d0776c50c84a2cd', event: 'Transfer', args: [Object] } ] }truffle(development)> token.balanceOf(acc1).then(function(res) { console.log(res.toNumber()) })100truffle(development)> token.transfer(acc2, 10, {from: acc1}){ tx: '029cf6599a58df639e3a9a0db08aeaf57b06e7955756d6ed32548cbeca68cb48', receipt: { transactionHash: '0x029cf6599a58df639e3a9a0db08aeaf57b06e7955756d6ed32548cbeca68cb48', transactionIndex: 1, blockHash: '0x7d2025a7339d8c0ba39a2c9fddf5b4abdc2df28c096897e1958af51c0243bb56', blockNumber: 639, cumulativeGasUsed: 51613, gasUsed: 51613, contractAddress: '0xa6f433f17ceedaea685fbb9a5d0776c50c84a2cd', logs: [ [Object] ], logsBloom: '', status: '0x1' }, logs: [ { logIndex: 0, transactionIndex: 1, transactionHash: '0x029cf6599a58df639e3a9a0db08aeaf57b06e7955756d6ed32548cbeca68cb48', blockHash: '0x7d2025a7339d8c0ba39a2c9fddf5b4abdc2df28c096897e1958af51c0243bb56', blockNumber: 639, address: '0xa6f433f17ceedaea685fbb9a5d0776c50c84a2cd', event: 'Transfer', args: [Object] } ] }truffle(development)> token.balanceOf(acc1).then(function(res) { console.log(res.toNumber()) })90truffle(development)> token.balanceOf(acc2).then(function(res) { console.log(res.toNumber()) })10
$ sh deploy-myToken.sh + solar deploy contracts/MyToken.sol --gasPrice=0.0000001 '[21000000]' --force exec: solc [contracts/MyToken.sol --combined-json bin,metadata --optimize --allow-paths /Users/bob/Documents/golangWorkspace/src/github.com/dcb9/janus/playground] cli gasPrice 0.0000001 1e-07 gasPrice 1e-07 100 gasPriceWei 100 txHash: 0x7e4a1297bf5337b75f221351acb9e0540f128e45257588d86079c4ec962c4e51 contractAddress: 0x60833fd66342d3d031031e4cc1de57a4cd400dd9 🚀 All contracts confirmed deployed contracts/MyToken.sol => 0x60833fd66342d3d031031e4cc1de57a4cd400dd9
$ node myToken.js mint 0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19 100mint tx: undefined{ hash: '0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6', nonce: '', blockHash: '0x', blockNumber: '', transactionIndex: '', from: '', to: '', value: '0x0', gasPrice: '0x64', gas: '0x30d40', input: '0x40c10f19000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d190000000000000000000000000000000000000000000000000000000000000064', method: 'mint', confirm: [Function: confirm] }✔ confirm minttx receipt: { "transactionHash": "0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6", "transactionIndex": "0x2", "blockHash": "0xe7e8523ff95cd2f6663992e2c4e80d354fb20d1c67d6ffbbbb0c1448758f61a1", "blockNumber": "0x353f", "cumulativeGasUsed": "0x10bdc", "gasUsed": "0x10bdc", "contractAddress": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "logsBloom": "", "status": "0x1", "from": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "to": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "logs": [ { "amount": "64", "to": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "type": "Mint" }, { "value": "64", "from": "0x0000000000000000000000000000000000000000", "to": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "type": "Transfer" } ], "rawlogs": [ { "logIndex": "0x0", "transactionIndex": "0x2", "transactionHash": "0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6", "blockHash": "0xe7e8523ff95cd2f6663992e2c4e80d354fb20d1c67d6ffbbbb0c1448758f61a1", "blockNumber": "0x353f", "address": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "data": "0x0000000000000000000000000000000000000000000000000000000000000064", "topics": [ "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885", "0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19" ] }, { "logIndex": "0x1", "transactionIndex": "0x2", "transactionHash": "0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6", "blockHash": "0xe7e8523ff95cd2f6663992e2c4e80d354fb20d1c67d6ffbbbb0c1448758f61a1", "blockNumber": "0x353f", "address": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "data": "0x0000000000000000000000000000000000000000000000000000000000000064", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19" ] } ]}
$ node myToken.js balance 0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19balance: 100
$ node myToken.js transfer 0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19 0xd66789418ca152f5720b1c8dd04e9ff2f3891f6f 5transfer tx: undefined{ hash: '0x0cfe192b3244bc0eb1089a72962d2f164156ff40bea46e160c74fc86b0403d9a', nonce: '', blockHash: '0x', blockNumber: '', transactionIndex: '', from: '', to: '', value: '0x0', gasPrice: '0x64', gas: '0x30d40', input: '0xa9059cbb000000000000000000000000d66789418ca152f5720b1c8dd04e9ff2f3891f6f0000000000000000000000000000000000000000000000000000000000000005', method: 'transfer', confirm: [Function: confirm] }✔ confirm transfer
$ node myToken.js logs[ { "logIndex": "0x0", "transactionIndex": "0x2", "transactionHash": "0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6", "blockHash": "0xe7e8523ff95cd2f6663992e2c4e80d354fb20d1c67d6ffbbbb0c1448758f61a1", "blockNumber": "0x353f", "address": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "data": "0x0000000000000000000000000000000000000000000000000000000000000064", "topics": [ "0x0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885", "0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19" ], "event": { "amount": "64", "to": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "type": "Mint" } }, { "logIndex": "0x1", "transactionIndex": "0x2", "transactionHash": "0x5ee0463596cf35c00363f10b5781499aa6693e0477965053b5537716e84113c6", "blockHash": "0xe7e8523ff95cd2f6663992e2c4e80d354fb20d1c67d6ffbbbb0c1448758f61a1", "blockNumber": "0x353f", "address": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "data": "0x0000000000000000000000000000000000000000000000000000000000000064", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19" ], "event": { "value": "64", "from": "0x0000000000000000000000000000000000000000", "to": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "type": "Transfer" } }, { "logIndex": "0x0", "transactionIndex": "0x2", "transactionHash": "0x0cfe192b3244bc0eb1089a72962d2f164156ff40bea46e160c74fc86b0403d9a", "blockHash": "0x307c14f3a536b62e648566bec19f86270098a3d97d35f0d0cbaed4500150cb80", "blockNumber": "0x3544", "address": "0x90f3e8062c8537ee4825fd384caef0260795f8df", "data": "0x0000000000000000000000000000000000000000000000000000000000000005", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19", "0x000000000000000000000000d66789418ca152f5720b1c8dd04e9ff2f3891f6f" ], "event": { "value": "5", "from": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "to": "0xd66789418ca152f5720b1c8dd04e9ff2f3891f6f", "type": "Transfer" } }]
$ node myToken.js eventsSubscribed to contract eventsCtrl-C to terminate events subscription{ logIndex: '0x0', transactionIndex: '0x2', transactionHash: '0xe1e8afd1591bb4ef110fe4ddddf7de2bc1c04bbace3eb079cb95c8f8c5214729', blockHash: '0xd4e8fcea409a82c303823faee8164a7e5e57531c8cf50d37082fd3c128fb1e62', blockNumber: '0x3549', address: '0x90f3e8062c8537ee4825fd384caef0260795f8df', data: '0x0000000000000000000000000000000000000000000000000000000000000005', topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d19', '0x000000000000000000000000d66789418ca152f5720b1c8dd04e9ff2f3891f6f' ], event: Result { value: <BN: 5>, from: '0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19', to: '0xd66789418ca152f5720b1c8dd04e9ff2f3891f6f', type: 'Transfer' } }
$ sh deploy-SimpleStore.sh + solar deploy ./contracts/SimpleStore.sol '["1"]' --gasPrice=0.0000001 --force exec: solc [./contracts/SimpleStore.sol --combined-json bin,metadata --optimize --allow-paths /Users/bob/Documents/golangWorkspace/src/github.com/dcb9/janus/playground] cli gasPrice 0.0000001 1e-07 gasPrice 1e-07 100 gasPriceWei 100 txHash: 0x95472d05243864764211bd8c6d8110fa397bd045cff78d845c1250bdff789bc7 contractAddress: 0x6997a4803d75964b8d093a939c227a16833d23ad 🚀 All contracts confirmed deployed ./contracts/SimpleStore.sol => 0x6997a4803d75964b8d093a939c227a16833d23ad$ node test-SimpleStore.jsexec: await simpleStoreContract.call("get", [], {gasPrice: 100})call { rawResult: '0x0000000000000000000000000000000000000000000000000000000000000001', outputs: [ <BN: 1> ], logs: [] }exec: await simpleStoreContract.send("set", [82009999], {gasPrice: 100})tx { hash: '0x23a0d715ef4fc2ce8bcf79bf1427e3fea6af38905efab9668672e693591f3ee4', nonce: '', blockHash: '0x', blockNumber: '', transactionIndex: '', from: '', to: '', value: '0x0', gasPrice: '0x64', gas: '0x30d40', input: '0x60fe47b10000000000000000000000000000000000000000000000000000000004e35f8f', method: 'set', confirm: [Function: confirm] }exec: await tx.confirm(0)receipt { transactionHash: '0x23a0d715ef4fc2ce8bcf79bf1427e3fea6af38905efab9668672e693591f3ee4', transactionIndex: '0x2', blockHash: '0x6b8273375b3a8dff6701c4151d03aa2e3211fbb3f2bea558d16a762fe0cd2b1a', blockNumber: '0x2eaf', cumulativeGasUsed: '0x702e', gasUsed: '0x702e', contractAddress: '0x6997a4803d75964b8d093a939c227a16833d23ad', logsBloom: '', status: '0x1', from: '0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19', to: '0x6997a4803d75964b8d093a939c227a16833d23ad', logs: [ Result { from: '0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19', _oldValue: <BN: 1>, _newValue: <BN: 4e35f8f>, type: 'UpdateValue' } ], rawlogs: [ { logIndex: '0x0', transactionIndex: '0x2', transactionHash: '0x23a0d715ef4fc2ce8bcf79bf1427e3fea6af38905efab9668672e693591f3ee4', blockHash: '0x6b8273375b3a8dff6701c4151d03aa2e3211fbb3f2bea558d16a762fe0cd2b1a', blockNumber: '0x2eaf', address: '0x6997a4803d75964b8d093a939c227a16833d23ad', data: '0x000000000000000000000000cb3cb8375fe457a11f041f9ff55373e1a5a78d190000000000000000000000000000000000000000000000000000000000000001', topics: [Array] } ] }exec: await simpleStoreContract.call("get", [], {gasPrice: 100})call { rawResult: '0x0000000000000000000000000000000000000000000000000000000004e35f8f', outputs: [ <BN: 4e35f8f> ], logs: [] }
Assumed that you have acontract like this:
pragma solidity^0.4.18;contractSimpleStore {constructor(uint_value)public { value= _value; }function set(uintnewValue)public { value= newValue; }function get()publicconstantreturns (uint) {return value; }uint value;}
so that thebytecode is
solc --optimize --bin contracts/SimpleStore.sol======= contracts/SimpleStore.sol:SimpleStore =======Binary:608060405234801561001057600080fd5b506040516020806100f2833981016040525160005560bf806100336000396000f30060806040526004361060485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b18114604d5780636d4ce63c146064575b600080fd5b348015605857600080fd5b5060626004356088565b005b348015606f57600080fd5b506076608d565b60408051918252519081900360200190f35b600055565b600054905600a165627a7a7230582049a087087e1fc6da0b68ca259d45a2e369efcbb50e93f9b7fa3e198de6402b810029
constructor parameters is0000000000000000000000000000000000000000000000000000000000000001
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19","gas":"0x6691b7","gasPrice":"0x174876e800","data":"0x608060405234801561001057600080fd5b506040516020806100f2833981016040525160005560bf806100336000396000f30060806040526004361060485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b18114604d5780636d4ce63c146064575b600080fd5b348015605857600080fd5b5060626004356088565b005b348015606f57600080fd5b506076608d565b60408051918252519081900360200190f35b600055565b600054905600a165627a7a7230582049a087087e1fc6da0b68ca259d45a2e369efcbb50e93f9b7fa3e198de6402b8100290000000000000000000000000000000000000000000000000000000000000001"}]}' \ 'http://localhost:23889'{ "jsonrpc": "2.0", "result": "0x6da39dc909debf70a536bbc108e2218fd7bce23305ddc00284075df5dfccc21b", "id": "10"}
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x6da39dc909debf70a536bbc108e2218fd7bce23305ddc00284075df5dfccc21b"]}' \ 'localhost:23889'{ "jsonrpc": "2.0", "result": { "hash": "0x6da39dc909debf70a536bbc108e2218fd7bce23305ddc00284075df5dfccc21b", "nonce": "", "blockHash": "0xa5f0db33370d6a3e83ace9ed2b3ff74c29ad70b78427eb67de1d959dfa485085", "blockNumber": "0x1c51", "transactionIndex": "0x2", "from": "0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19", "to": "0x1d96667c8de1a6d8a2a393d6518f376ed3239dd3", "value": "0x0", "gasPrice": "0x28", "gas": "0x6691b7", "input": "0x608060405234801561001057600080fd5b506040516020806100f2833981016040525160005560bf806100336000396000f30060806040526004361060485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166360fe47b18114604d5780636d4ce63c146064575b600080fd5b348015605857600080fd5b5060626004356088565b005b348015606f57600080fd5b506076608d565b60408051918252519081900360200190f35b600055565b600054905600a165627a7a7230582049a087087e1fc6da0b68ca259d45a2e369efcbb50e93f9b7fa3e198de6402b8100290000000000000000000000000000000000000000000000000000000000000001" }, "id": "10"}
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x6da39dc909debf70a536bbc108e2218fd7bce23305ddc00284075df5dfccc21b"]}' \ 'localhost:23889'{ "jsonrpc": "2.0", "result": { "transactionHash": "0x6da39dc909debf70a536bbc108e2218fd7bce23305ddc00284075df5dfccc21b", "transactionIndex": "0x2", "blockHash": "0xa5f0db33370d6a3e83ace9ed2b3ff74c29ad70b78427eb67de1d959dfa485085", "blockNumber": "0x1c51", "cumulativeGasUsed": "0x1e8a9", "gasUsed": "0x1e8a9", "contractAddress": "0x1d96667c8de1a6d8a2a393d6518f376ed3239dd3", "logs": [], "logsBloom": "", "status": "0x1" }, "id": "10"}
the ABI code of set method with param '["2"]' is60fe47b10000000000000000000000000000000000000000000000000000000000000002
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19","gas":"0x6691b7","gasPrice":"0x174876e800","to":"0x1d96667c8de1a6d8a2a393d6518f376ed3239dd3","data":"60fe47b10000000000000000000000000000000000000000000000000000000000000002"}]}' \ 'localhost:23889'{ "jsonrpc": "2.0", "result": "0xb6a315733207992115e8aa002b7b9543d34839f7265f3f5399453ebf54febe71", "id": "10"}
get method's ABI code is6d4ce63c
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_call","params":[{"from":"0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19","gas":"0x6691b7","gasPrice":"0x174876e800","to":"0x1d96667c8de1a6d8a2a393d6518f376ed3239dd3","data":"6d4ce63c"},"latest"]}' \ 'localhost:23889'{ "jsonrpc": "2.0", "result": "0x0000000000000000000000000000000000000000000000000000000000000002", "id": "10"}
$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0xcb3cb8375fe457a11f041f9ff55373e1a5a78d19","gas":"0x6691b7","gasPrice":"0x174876e800","value":"0xffffff", "to": "0xd66789418ca152f5720b1c8dd04e9ff2f3891f6f"}]}' \ 'http://localhost:23889'{ "jsonrpc": "2.0", "result": "0x978ed14c122dca1669df875e2cc33302a6edd13b7a8a5a30e3a53ef53b53bbf4", "id": "10"}$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x978ed14c122dca1669df875e2cc33302a6edd13b7a8a5a30e3a53ef53b53bbf4"]}' \ 'localhost:23889'// notice: the tx receipt of sendtoaddress is an empty array{ "jsonrpc": "2.0", "result": [], "id": "10"}$ curl --header 'Content-Type: application/json' --data \ '{"id":"10","jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0x978ed14c122dca1669df875e2cc33302a6edd13b7a8a5a30e3a53ef53b53bbf4"]}' \ 'localhost:23889'// notice: blockNumber, transactionIndex, from, to are empty, because tx receipt of sendtoaddress is an empty array{ "jsonrpc": "2.0", "result": { "hash": "0x978ed14c122dca1669df875e2cc33302a6edd13b7a8a5a30e3a53ef53b53bbf4", "nonce": "", "blockHash": "0x9a5c002cac26df0bbd77099412dff3bd542741a1bb6e955cc161b76a83b8626f", "blockNumber": "", "transactionIndex": "", "from": "", "to": "", "value": "0x0", "gasPrice": "", "gas": "", "input": "" }, "id": "10"}
curl --header 'Content-Type: application/json' --data
'{"id":"10","jsonrpc":"2.0","method":"eth_getLogs","params":[]}'
'localhost:23889'
- eth_sendTransaction
- eth_call
- eth_getTransactionByHash
- eth_getTransactionReceipt
- eth_blockNumber
- net_version
- returns string // current network name as defined in BIP70 (main, test, regtest)
- eth_getLogs
- topics is not supported yet
- tags, "pending" and "earliest", are unsupported
- eth_accounts
- eth_getCode
- eth_newFilter
- eth_newBlockFilter
- eth_getFilterChanges
- eth_uninstallFilter
- eth_getFilterLogs
- eth_getBlockByNumber
- eth_estimateGas
- eth_getBalance
- eth_getTransactionReceipt
logsBloom
is an empty string- result will be an empty array if the txid of the transaction is a transfer operation
- eth_getTransactionByHash
nonce
is an empty stringblockNumber
,transactionIndex
,from
,to
,value
will be empty, if the txid of the transaction is a transfer operation
- eth_accounts
- only return addresses which are linked to default account
About
Qtum adapter to Ethereum JSON RPC
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.