Links

Ethereum & EVM compatible

Sign Transaction

The D'CENT Web SDK provides functions for signing transaction of coins.

getEthereumSignedTransaction()

Supported Coin Type

  • ETHEREUM
  • RSK
  • XDC

Parameters

  • coinType
  • nonce
  • gasPrice
  • gasLimit
  • to (address)
  • value
  • data
  • key path for signing
  • chain ID

Returned response object:

{
"header": {
"version": "1.0",
"response_from": "ethereum",
"status": "success"
},
"body": {
"command": "transaction",
"parameter": {
"sign_v": "0x78",
"sign_r": "0xf9e4c3ed......9557ad37",
"sign_s": "0x697a2abf......b76c4cb2",
"signed": "f86c0884......b76c4cb2"
}
}
}

getTokenSignedTransaction()

Supported Coin Type

  • ERC20
  • RRC20
  • XRC20

Parameters

  • coinType
  • nonce
  • gasPrice
  • gasLimit
  • value
  • key path for signing
  • chain ID
  • contract information :
    // example
    {
    name: 'OmiseGO',
    address: '0xd26114cd6EE289AccF82350c8d8487fedB8A0C07',
    to: '0x354609C4c9a15d4265cF6D94010568D5Cf4d0c1B',
    decimals: 18,
    value: '100000000000000000',
    symbol: 'OMG'
    }

Returned response object

{
"header": {
"version": "1.0",
"response_from": "erc20",
"status": "success"
},
"body": {
"command": "transaction",
"parameter": {
"signed": "0xf8a91584......cc79c29a",
"sign": {
"sign_v": "0x26",
"sign_r": "0x33930787......d4456f53",
"sign_s": "0x708126c7......cc79c29a"
}
}
}
}

Ethereum Signed Massage

You can get a signature value to sign a user message with that private key With a given key path (BIP32). The input message is prefixed with 'Ethereum sign message' and then hashed and signed.
var message = 'This is a message!'
var result
try {
result = await DcentCLIConnector.getEthereumSignedMessage(message, "m/44'/60'/0'/0/0");
} catch (e) {
console.log(e)
result = e
}

Returned response object

{
"header": {
"version": "1.0",
"response_from": "ethereum",
"status": "success"
},
"body": {
"command": "msg_sign",
"parameter": {
"address": "0x54b9c508aC61Eaf2CD8F9cA510ec3897CfB09382",
"sign": "0x0d935339......06a6291b"
}
}
}

Signed Data

You can get a signature value to sign message with that private key With a given key path (BIP32). The input data is hex string format. The input data is hashed and signed.
var message = "0x1901f2cee375fa42b42143804025fc449deafd50cc031ca257e0b194a650a912090feb4221181ff3f1a83ea7313993ca9218496e424604ba9492bb4052c03d5c3df8"
var key = "m/44'/60'/0'/0/0"
var result
try {
result = await dcent.getSignedData(key, message);
} catch (e) {
console.log(e)
result = e
}

Returned response object

{
"header": {
"version": "1.0",
"response_from": "ethereum",
"status": "success"
},
"body": {
"command": "sign_data",
"parameter": {
"address": "0x54b9c508aC61Eaf2CD8F9cA510ec3897CfB09382",
"sign": "0x0d935339......06a6291b"
}
}
}

Signed Message

You can get a signature value to sign a user message with that private key With a given key path (BIP32). The input message is prefixed depending on the coin type and then hashed and signed.
var message = 'This is a message!'
var key = "m/44'/60'/0'/0/0"
var result
try {
result = await dcent.getSignedMessage( DcentWebConnector.coinType.ETHEREUM, key, message);
} catch (e) {
console.log(e)
result = e
}

Returned response object

{
"header": {
"version": "1.0",
"response_from": "ethereum",
"status": "success"
},
"body": {
"command": "msg_sign",
"parameter": {
"address": "0x54b9c508aC61Eaf2CD8F9cA510ec3897CfB09382",
"sign": "0x0d935339......06a6291b"
}
}
}
Please Refer to the sample/index.js to learn more about how to use the SDK APIs. There is a node.js program using our CLI SDK.