Ethereum & EVM compatible
The D'CENT Android SDK provides functions for signing transaction of coins.
This function for :
ETHEREUM
(ETH) - ethereumETH_CLASSIC
(ETC) - ethereum classicETHEREUM_GOERLI
(ETHt) - etheruem goerliFLARE_COSTON
(CFLR) - flare network costonRSK
(RBTC)- rsk smart bitcoinRSK_TESTNET
(RBTCt) - rsk smart bitcoin testnetXDC
(XDC) - xdc networkXDC_APOTHEM
(XDCt) - xdc apothemBSC
(BNB) - binance smart chainBSC_TESTNET
(BNBt) - binance smart chain testnetPOLYGON
(MATIC) - polygonPOLYGON_TESTNET
(MATICt) - polygon testnetETH_CHAIN
- other evm networks
Parameter | Type | Description |
---|---|---|
coinType | CoinType | ethereum coin type. |
transaction | ethereum transaction parameters. |
Name | Type | Description |
---|---|---|
hdKeyPath | Bip44KeyPath | sign key path for ethereum transaction |
nonce | String | account nonce for ethereum transaction |
toAddr | String | recipient's address of ethereum transaction |
amount | String | amount of ether to be sent. ( WEI unit value ) |
gasLimit | String | gas limit value of ethereum transaction |
gasPrice | String | gas price for ethereum transaction |
data | String | transaction data of ethereum transaction |
chainId | int | chain id |
symbol | String | symbol of contract for ethereum transaction |
tx_type | byte | (optional)Type of ethereum transaction |
max_priority_fpg | String | (optional)max_priority_fpg of ethereum transaction |
max_fee_per_gas | String | (optional)max_fee_per gas of ethereum transaction |
access_list | String | (optional)access_list of ethereum transaction |
String
- signed transaction.- Refer to "D`CENT Firmware Update History" to determine which D'CENT Biometric Wallet versions are supported on each network.
Example
EthereumTransanction ethereumTransanction;
ethereumTransanction = new EthereumTransanction.Builder()
.keyPath(Bip44KeyPath.valueOf("m/44'/60'/0'/0/0"))
.nonce("14")
.toAddr("0xe5c23dAa6480e45141647E5AeB321832150a28D4")
.amount("500000000000000")
.gasLimit("21000")
.gasPrice("6000000000")
.data("0x")
.chainId("1")
.symbol("ETH")
.build();
String response = mDcentmanager.getEthereumSignedTransaction(CoinType.ETHEREUM, ethereumTransanction);
This function for :
ERC20
- ethereum erc20 tokenETC_ERC20
- ethereum classic erc20 tokenERC20_KOVAN
- etheruem kovan erc20 tokenERC20_ROPSTEN
- etheruem ropsten erc20 tokenERC20_GOERLI
- etheruem goerli erc20 tokenERC20_RINKEBY
- etheruem rinkeby erc20 tokenFRC20_COSTON
- flare network coston tokenRRC20
- rsk smart bitcoin tokenRRC20_TESTNET
- rsk smart bitcoin testnet tokenXRC20
- xdc xrc20 tokenXRC20_APOTHEM
- xdc apothem xrc20 tokenBSC_BEP20
- binance smart chain bep20 tokenBSC_BEP20_TESTNET
- binance smart chain bep20 testnet tokenPOLYGON_ERC20
- polygon erc20 tokenPOLYGON_ERC20_TESTNET
- polygon erc20 testnet tokenECH_ERC20
- other evm erc20 token
Parameter | Type | Description |
---|---|---|
coinType | CoinType | erc20 type. |
transaction | token transaction parameters. |
Name | Type | Description |
---|---|---|
hdKeyPath | Bip44KeyPath | sign key path for ethereum transaction |
nonce | String | account nonce for ethereum transaction |
toAddr | String | address to send |
amount | String | amount of ETH to send |
gasLimit | String | gas limit value |
gasPrice | String | gas price for ethereum transaction |
tokenName | String | token name of contract for ERC20 transaction |
contractAddress | String | address of contract for ERC20 transaction |
decimals | String | decimals of contract for ERC20 transaction |
symbol | String | symbol of contract for ERC20 transaction |
chainId | String | chain id |
feeSymbol | String | symbol of fee Account for ERC20 transaction |
String
- signed transaction.- Refer to "D`CENT Firmware Update History" to determine which D'CENT Biometric Wallet versions are supported on each network.
Example
TokenTransaction erc20transaction;
erc20transaction = new TokenTransaction.Builder()
.keyPath(Bip44KeyPath.valueOf("m/44'/60'/0'/0/0"))
.nonce("14")
.toAddr("0xe5c23dAa6480e45141647E5AeB321832150a28D4")
.amount("60000000000000000")
.gasLimit("70000")
.gasPrice("3000000000")
.tokenName("OmiseGO")
.contractAddress("0xd26114cd6ee289accf82350c8d8487fedb8a0c07")
.decimals("18")
.symbol("OMG")
.chainId("1")
.feeSymbol("ETH")
.build();
String response = mDcentmanager.getTokenSignedTransaction(CoinType.ERC20, erc20transaction)
Get the sign value of "EVM" message sign(personal_sign & signTypedData).
This function for :
ETHEREUM
(ETH) - ethereumETHEREUM_GOERLI
(ETHt) - etheruem goerliRSK
(RBTC)- rsk smart bitcoinRSK_TESTNET
(RBTCt) - rsk smart bitcoin testnetXDC
(XDC) - xdc networkXDC_APOTHEM
(XDCt) - xdc apothemBSC
(BNB) - binance smart chainBSC_TESTNET
(BNBt) - binance smart chain testnetPOLYGON
(MATIC) - polygonPOLYGON_TESTNET
(MATICt) - polygon testnetETH_CHAIN
- other evm networksKLAYTN
(KLAY) - klaytnKLAY_BAOBAB
(KLAYt) - klaytn baobab
Parameter | Type | Description |
---|---|---|
coinType | CoinType | coin type. |
transaction | ethereum message sign data parameters. | |
command | String | data sign command.( "msg_sign" | "sign_data" )
- "msg_sign" for personal_sign or 'eth_sign' of EVM
- "sign_data" for signTypedData(EIP-721) of EVM |
Name | Type | Description |
---|---|---|
hdKeyPath | Bip44KeyPath | sign key path for ethereum sign data transaction |
data | String | message for signing |
HashMap<String, String>
- signedData{address,sign}- D'CENT Biometric Wallet version 1.3.0. or higher is required.
- (for EIP-721) version 2.11.1. or higher is required.
Example(ethereum personal_sign)
EthMesageSignData ethMesageSignData;
ethMesageSignData = new EthMesageSignData.Builder()
.keyPath(Bip44KeyPath.valueOf("m/44'/60'/0'/0/0"))
.data("Message Sign TEST")
.build();
HashMap<String, String> response = mDcentmanager.getEthereumMessageSigned(CoinType.ETHEREUM, ethMesageSignData, "msg_sign");
String address = response.get("address");
String sign = response.get("sign");
Last modified 2mo ago