ifdef::env-github,env-browser[:outfilesuffix: .adoc] ifndef::rootdir[:rootdir: ..] :imagesdir: {rootdir}/images :toc:
JSON-RPC is a remote procedure call protocol encoded in JSON. We use the version 2 of the protocol.
Identify if and when the originator fails or is no longer available.
Parameters: none
Result: timestamp
(Number) - seconds since Jan 01 1970 (UTC)
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_heartbeat", "params": [], "id": 1}
<-- {"jsonrpc": "2.0", "result": 1497439590, "id": 1}
Returns the client current version.
Parameters: none
Result: version
(String) - current version according Semantic Versioning
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_currentVersion", "params": [], "id": 1}
<-- {"jsonrpc": "2.0", "result": "0.9", "id": 1}
Return the list of all not hidden (by default) accounts from the keystore.
Parameters:
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
show_hidden
(Boolean, optional) - also show hidden accounts
Result:
accounts
(Array)account
(Object) - an accountaddress
(String) - hex-encoded 20 bytes public addresshardware
(Boolean) - flag to distinguish normal accounts from HD wallet accountsname
(String, optional) - account namedescription
(String, optional) - account descriptionis_hidden
(Boolean) - flag to distinguish hidden accounts
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_listAccounts", "params": [{"chain": "morden", "show_hidden": true}], "id": 1}
<-- {"jsonrpc": "2.0", "result":
[{"address": "0x5e97870f263700f46aa00d967821199b9bc5a120",
"hardware": true
"name": "test",
"description": "A test account",
"is_hidden": false}],
"id": 1}
Hide an account from the list returned by default by emerald_listAccounts
.
Parameters:
account
(Object)address
(String) - hex-encoded 20 bytes public address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required account exists
Examples:
If required account exists
--> {"jsonrpc": "2.0", "method": "emerald_hideAccount", "params": [{"address": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required account doesn't exist
--> {"jsonrpc": "2.0", "method": "emerald_hideAccount", "params": [{"address": "0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"}], "id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Account doesn't exist"}, "id": "1"}
Show an account that was hidden before by the command emerald_hideAccount
.
Parameters:
account
(Object)address
(String) - hex-encoded 20 bytes public address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required account exists
Examples:
If required account exists
--> {"jsonrpc": "2.0", "method": "emerald_unhideAccount", "params": [{"address": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required account doesn't exist
--> {"jsonrpc": "2.0", "method": "emerald_unhideAccount", "params": [{"address": "0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"}], "id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Account doesn't exist"}, "id": "1"}
Creates a new account and stores it locally as a passphrase-encoded keystore file.
Parameters:
account
(Object)name
(String, optional) - account namedescription
(String, optional) - account descriptionpassphrase
(String) - passphrase used to encode keyfile (recommend to use 8+ words with good entropy)
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: address
(String) - hex-encoded 20 bytes public address
Examples:
.Simple format, only passphrase
--> {"jsonrpc": "2.0", "method": "emerald_newAccount", "params": [{"passphrase": "1234567890"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9", "id": 1}
.Full format with all optional parameters for morden
(id: 101
)
--> {"jsonrpc": "2.0",
"method": "emerald_newAccount",
"params":
[{"name": "test",
"description": "A test account"
"passphrase": "1234567890"},
{"chain": "morden"}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9", "id": 1}
Recreate account with the same public address, but with a different passphrase.
Parameters:
account
(Object)address
(String) - hex-encoded 20 bytes public addressold_passphrase
(String) - old passphrase used to encode keyfilenew_passphrase
(String) - new passphrase to recreate keyfile (recommend to use 8+ words with good entropy)
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required account exists
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_shakeAccount", "params": [{"address": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9", "old_passphrase": "1234567890", "new_passphrase": "123"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
Update not secured by passphrase account metadata, like name
and description
.
Parameters:
account
(Object)address
(String) - hex-encoded 20 bytes public addressname
(String, optional) - account namedescription
(String, optional) - account description
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required account exists
Examples:
If required account exists
--> {"jsonrpc": "2.0", "method": "emerald_updateAccount", "params": [{"name": "new", "address": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required account doesn't exist
--> {"jsonrpc": "2.0", "method": "emerald_updateAccount", "params": [{"address": "0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"}], "id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Account doesn't exist"}, "id": "1"}
Import a new account from an external keyfile. Handle both cases: normal account & HD wallet account,
Parameters:
- Normal account:
* `keyfile` (Object) - should be totally comply with the [Web3 UTC / JSON format](https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition)
* `additional` (Object, optional)
** `chain` (String, optional) - chain name, by default `mainnet`, other possible variant `morden`
** `chain_id` (Number, optional) - chain id number, by default for `mainnet` it equals `111`
- HD wallet:
* `keyfile` (Object) - should be totally comply with format specified in example
* `additional` (Object, optional)
** `chain`, `chain_id` - same as for normal account
Result: address
(String) - successfully imported hex-encoded 20 bytes public address
Examples:
.Normal account:
--> {"jsonrpc": "2.0",
"method": "emerald_importAccount",
"params":
[{"version": 3,
"id": "f7ab2bfa-e336-4f45-a31f-beb3dd0689f3",
"address": "0047201aed0b69875b24b614dda0270bcd9f11cc",
"crypto": {
"ciphertext": "c3dfc95ca91dce73fe8fc4ddbaed33bad522e04a6aa1af62bba2a0bb90092fa1",
"cipherparams": {
"iv": "9df1649dd1c50f2153917e3b9e7164e9"
},
"cipher": "aes-128-ctr",
"kdf": "scrypt",
"kdfparams": {
"dklen": 32,
"salt": "fd4acb81182a2c8fa959d180967b374277f2ccf2f7f401cb08d042cc785464b4",
"n": 1024,
"r": 8,
"p": 1
},
"mac": "9f8a85347fd1a81f14b99f69e2b401d68fb48904efe6a66b357d8d1d61ab14e5"}}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0x0047201aed0b69875b24b614dda0270bcd9f11cc", "id": 1}
.HD wallet account:
--> {"jsonrpc": "2.0",
"method": "emerald_importAccount",
"params":
[{"version": 3,
"id": "f7ab2bfa-e336-4f45-a31f-beb3dd0689f3",
"address": "8f5201aed0b69875b24b6accounaccoun14dda0e",
"crypto": {
"cipher": "hardware",
"hardware": "ledger-nano-s:v1",
"hd_path": "44'/61'/0'/0/0"},
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0x8f5201aed0b69875b24b6accounaccoun14dda0e", "id": 1}
Returns an account keyfile associated with the account.
Parameters:
account
(Object)address
(String) - hex-encoded 20 bytes public address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: keyfile
(Object) - normal account in Web3 UTC / JSON format,
or HD wallet account (see example)
Examples:
Normal account:
--> {"jsonrpc": "2.0", "method": "emerald_exportAccount", "params": [{"address": "0x0047201aed0b69875b24b614dda0270bcd9f11cc"}, {"chain_id": 62}], "id": 1}
<-- {"jsonrpc": "2.0",
"result":
[{"version": 3,
"id": "f7ab2bfa-e336-4f45-a31f-beb3dd0689f3",
"address": "0047201aed0b69875b24b614dda0270bcd9f11cc",
"crypto": {
"ciphertext": "c3dfc95ca91dce73fe8fc4ddbaed33bad522e04a6aa1af62bba2a0bb90092fa1",
"cipherparams": {
"iv": "9df1649dd1c50f2153917e3b9e7164e9"
},
"cipher": "aes-128-ctr",
"kdf": "scrypt",
"kdfparams": {
"dklen": 32,
"salt": "fd4acb81182a2c8fa959d180967b374277f2ccf2f7f401cb08d042cc785464b4",
"n": 1024,
"r": 8,
"p": 1
},
"mac": "9f8a85347fd1a81f14b99f69e2b401d68fb48904efe6a66b357d8d1d61ab14e5"}}],
"id": 1}
HD wallet account:
--> {"jsonrpc": "2.0", "method": "emerald_exportAccount", "params": [{"address": "0x8f5201aed0b69875b24b6accounaccoun14dda0e"}, {"chain_id": 62}], "id": 1}
<-- {"jsonrpc": "2.0",
"method": "emerald_importAccount",
"params":
[{"version": 3,
"id": "f7ab2bfa-e336-4f45-a31f-beb3dd0689f3",
"address": "8f5201aed0b69875b24b6accounaccoun14dda0e",
"crypto": {
cipher: "hardware",
type: "ledger-nano-s:v1",
hd: "0'/0/0"},
"id": 1}
Return the list of all not hidden (by default) smart contracts from the local storage.
Parameters:
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
show_hidden
(Boolean, optional) - also show hidden accounts
Result:
contracts
(Array)contract
(Object) - a smart contractaddress
(String) - hex-encoded 20 bytes smart contract addressname
(String, optional) - smart contract namedescription
(String, optional) - smart contract name
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_listContracts", "params": [{"chain": "morden", "show_hidden": true}], "id": 1}
<-- {"jsonrpc": "2.0", "result":
[{"name": "BitEther",
"description": "BitEther ERC20 token",
"address": "0x085fb4f24031eaedbc2b611aa528f22343eb52db"},
{"name": "DexNS",
"description": "Dexaran Naming service",
"address": "0x2906797a0a56a0c60525245c01788ecd34063b80"}],
"id": 1}
// Request
curl -X POST -d '{"jsonrpc":"2.0", "method":"emerald_listContracts", "params":[{"chain":"mainnet"}], "id":76}' -H "Content-Type: application/json" localhost:1920
// Result
{"jsonrpc":"2.0","result":[{"address":"0x085fb4f24031eaedbc2b611aa528f22343eb52db","name":"BEC"}],"id":76}
Hide a smart contract from the list returned by default by emerald_listContracts
.
Parameters:
contract
(Object)address
(String) - hex-encoded 20 bytes smart contract public address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required smart contract exists
Examples:
If required contract exists
--> {"jsonrpc": "2.0", "method": "emerald_hideContract", "params": [{"address": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required contract doesn't exist
--> {"jsonrpc": "2.0", "method": "emerald_hideContract", "params": [{"address": "0x085fb4f24031eaedbc2b611aa528f22343eb52db"}], "id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Contract doesn't exist"}, "id": "1"}
Show a smart contract that was hidden before by the command emerald_hideContract
.
Parameters:
contract
(Object)address
(String) - hex-encoded 20 bytes smart contract public address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required smart contract exists
Examples:
If required contract exists
--> {"jsonrpc": "2.0", "method": "emerald_unhideContract", "params": [{"address": "0x085fb4f24031eaedbc2b611aa528f22343eb52db"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required contract doesn't exist
--> {"jsonrpc": "2.0", "method": "emerald_unhideContract", "params": [{"address": "0x085fb4f24031eaedbc2b611aa528f22343eb52db"}], "id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Contract doesn't exist"}, "id": "1"}
Update contract metadata. Contract address and chain information are used to identify the contract, and may not be updated.
Parameters:
contract
(Object)address
(String) - hex-encoded 20 bytes public addressname
(String, optional) - contract namedescription
(String, optional) - contract description
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if required contract exists
Examples:
If required contract exists
--> {"jsonrpc": "2.0",
"method": "emerald_updateContract",
"params": [{"address": "0x085fb4f24031eaedbc2b611aa528f22343eb52db",
"name": "ERC223 token",
"description": "Bit Ether"}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
If required contract doesn't exist
--> {"jsonrpc": "2.0",
"method": "emerald_updateContract",
"params": [{"address": "0x0047201aed0b69875b24b614dda0270bcd9f11cc",
"name": "ERC20 token",
"description": "Bit Ether"}],
"id": 1}
<-- {"jsonrpc": "2.0", "error": {"code": -32000, "message": "Contract doesn't exist"}, "id": "1"}
Import a new smart contract Application Binary Interface (ABI) locally.
Parameters:
contract
(Object)address
(String) - hex-encoded 20 bytes public addressname
(String, optional) - contract namedescription
(String, optional) - contract descriptionbytecode
(String, optional) - hex-encoded compiled contractcontract
(Array) - JSON format for a contract ABI, should be an array of function and/or event descriptions as defined https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI[here]. Each operator should have the following properties:name
(String) - the name of the functioninputs
(Array) - an array of objects, each of which contains a name and a typeoutputs
(Array) - an array of objects, each of which contains a name and a type
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: accept
(Boolean) - true
if successful
Examples:
--> {"jsonrpc": "2.0",
"method": "emerald_importContract",
"params":
[{"address": "0x0047201aed0b69875b24b614dda0270bcd9f11cc",
"name": "ERC20 token",
"contract":
[{"constant":true,
"inputs":[],
"name":"name",
"outputs":[{"name":"",
"type":"string"}],
"payable":false,
"type":"function"},
{"constant":false,
"inputs":[{"name":"_spender",
"type":"address"},
{"name":"_value",
"type":"uint256"}],
"name":"approve",
"outputs":[{"name":"success",
"type":"bool"}],
"payable":false,
"type":"function"},
{"constant":true,
"inputs":[],
"name":"totalSupply",
"outputs":[{"name":"",
"type":"uint256"}],
"payable":false,
"type":"function"},
...
{"inputs":[{"name":"initialSupply",
"type":"uint256"},
{"name":"tokenName",
"type":"string"},
{"name":"decimalUnits",
"type":"uint8"},
{"name":"tokenSymbol",
"type":"string"}],
"payable":false,
"type":"constructor"},
{"anonymous":false,
"inputs":[{"indexed":true,
"name":"from",
"type":"address"},
{"indexed":true,
"name":"to",
"type":"address"},
{"indexed":false,
"name":"value",
"type":"uint256"}],
"name":"Transfer",
"type":"event"}]}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": true, "id": 1}
Returns contract object associated with the contract.
Parameters:
contractt
(Object)address
(String) - hex-encoded 20 bytes publ/usr/local/bin/ic address
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: contract
(Object) - JSON format for a contract ABI, as defined here.
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_exportContract", "params": [{"address": "0x0047201aed0b69875b24b614dda0270bcd9f11cc"}, {"chain_id": 62}], "id": 1}
<-- {"jsonrpc": "2.0",
"result":
[{"address": "0x0047201aed0b69875b24b614dda0270bcd9f11cc",
"name": "ERC20 token",
"abi":
[{"constant":true,
"inputs":[],
"name":"name",
"outputs":[{"name":"",
"type":"string"}],
"payable":false,
"type":"function"},
...
{"anonymous":false,
"inputs":[{"indexed":true,
"name":"from",
"type":"address"},
{"indexed":true,
"name":"to",
"type":"address"},
{"indexed":false,
"name":"value",
"type":"uint256"}],
"name":"Transfer",
"type":"event"}]}],
"id": 1}
Signs transaction offline with private key from keystore file with given passphrase.
If function
and arguments
are provided, they will be encoded according smart contract ABI and used in the data
field of the transaction.
Parameters:
transaction
(Object)from
(String) - the address the transaction is sent from (hex-encoded 20 Bytes)to
(String, optional when creating new contract) - the address the transaction is directed to (hex-encoded 20 Bytes)gas
(String) - Hex-encoded integer of the gas provided for the transaction execution, it will return unused gasgasPrice
(String) - Hex-encoded integer of the gasPrice used for each paid gasvalue
(String, optional) - Hex-encoded integer of the value sent with this transactiondata
(String, optional) - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters (smart contract ABI)function
(String, optional) - Name of a not-constant smart contract function to encode and use asdata
name
(String) - an smart contract function nameinputs
(Array, optional) - an array of smart contract input argumentsname
(String) - an smart contract function argument namevalue
(String) - an smart contract function argument value
nonce
(String) - Hex-encoded integer of a nonce, this allows to overwrite your own pending transactions that use the same noncepassphrase
(String) - passphrase used to encode keyfile
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: data
(String) - hex-encoded signed raw transaction data
Examples:
--> {"jsonrpc": "2.0",
"method": "emerald_signTransaction",
"params":
[{"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0",
"gasPrice": "0x9184e72a000",
"value": "0x9184e72a",
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",
"nonce": "0x1000",
"passphrase": 1234567890"},
{"chain": "morden"}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675", "id": 1}
--> {"jsonrpc": "2.0",
"method": "emerald_signTransaction",
"params":
[{"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0x085fb4f24031eaedbc2b611aa528f22343eb52db",
"gas": "0x0186a0",
"gasPrice": "0x04e3b29200",
"function":
{"name": "transfer",
"inputs": [{"name": "_to",
"value": "0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"},
{"name": "_value",
"value": 10}]}}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0x085fb4f24031eaedbc2b611aa528f22343eb52dba9059cbb000000000000000000000000aa00000000bbbb000000000000000000000000aa000000000000000000000000000000000000000000000000000000000000000a", "id": 1}
Generates a new 24 words long mnemonic phrase
Parameters: not required
Result: address
(String) - hex-encoded 20 bytes public address
Examples:
--> {"jsonrpc": "2.0", "method": "emerald_generateMnemonic", "params": [], "id": 1}
<-- {"jsonrpc": "2.0", "result": "beyond stage sleep clip because twist token leaf atom beauty genius\
food business side grid unable middle armed observe pair crouch tonight away coconut", "id": 1}
Creates a new account from a mnemonic and stores it locally as a passphrase-encoded keystore file.
Parameters:
item
(Object)mnemonic
(String)name
(String, optional) - account namedescription
(String, optional) - account descriptionpassword
(String) - passphrase used to encode keyfile (recommend to use 8+ words with good entropy)hd_path
(String)
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: address
(String) - hex-encoded 20 bytes public address
Examples:
- Simple format, only
passphrase
--> {"jsonrpc": "2.0", "method": "emerald_importMnemonic", "params": [{"passphrase": "1234567890"}], "id": 1}
<-- {"jsonrpc": "2.0", "result": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9", "id": 1}
- Full format with all optional parameters for
morden
(id:101
)
--> {"jsonrpc": "2.0",
"method": "emerald_importMnemonic",
"params":
[{"name": "test",
"description": "A test account"
"passphrase": "1234567890"},
{"chain": "morden"}],
"id": 1}
<-- {"jsonrpc": "2.0", "result": "0xe9a7e26bf5c05fe3bae272d4c940bd7158611ce9", "id": 1}
Add new contact into address book
Parameters:
contact
(Object)address
(String) - hex-encoded 20 bytes public addressname
(String, optional) - short name for addressdescription
(String, optional) - address' description
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Result: address
(String) - hex-encoded 20 bytes public address
Examples
// Request
curl -X POST -d '{"jsonrpc":"2.0", "method":"emerald_importAddress", "params":[{"address":"0xB3c9A2f3F96ffBC4b7DEd2D92C83175698147Ae2"},{"chain":"mainnet"}], "id":76}' -H "Content-Type: application/json" localhost:1920
// Result
{"jsonrpc":"2.0","result":"0xB3c9A2f3F96ffBC4b7DEd2D92C83175698147Ae2","id":76}
Return all addresses for particular chain
Parameters
additional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Examples
// Request
curl -X POST -d '{"jsonrpc":"2.0", "method":"emerald_listAddresses", "params":[{"chain":"mainnet"}], "id":76}' -H "Content-Type: application/json" localhost:1920
// Result
{"jsonrpc":"2.0","result":[{"address":"0xB3c9A2f3F96ffBC4b7DEd2D92C83175698147Ae2"}],"id":76}
Delete contact from address book
Parameters
address
(String) - hex-encoded 20 bytes public addressadditional
(Object, optional)chain
(String, optional) - chain name, by defaultmainnet
, other possible variantmorden
chain_id
(Number, optional) - chain id number, by default formainnet
it equals111
Examples
// Request
curl -X POST -d '{"jsonrpc":"2.0", "method":"emerald_deleteAddress", "params":["0xB3c9A2f3F96ffBC4b7DEd2D92C83175698147Ae2",{"chain":"mainnet"}], "id":76}' -H "Content-Type: application/json" localhost:1920
// Result
{"jsonrpc":"2.0","result":null,"id":76}
Code | Message | Meaning |
---|---|---|
-32000 | Account doesn't exist | Nothing is found at the specified account address |