Device & Accounts Info.
You can get connected device information using
getDeviceInfo()
function.// Get connected device information
var result
try{
result = await DcentCLIConnector.getDeviceInfo()
}catch(e){
result = e
}
getDeviceInfo()
returns :{
"header": {
"version": "1.0",
"response_from": "device",
"status": "success"
},
"body": {
"command": "get_info",
"parameter": {
"device_id": "1234567890123456789012345678901234567890123456789012345678901234",
"fw_version": "1.2.1.7c65",
"ksm_version": "1.0.0.1139",
"state": "secure",
"coin_list": [
{
"name": "BITCOIN"
},
{
"name": "ETHEREUM"
},
{
"name": "ERC20"
},
{
"name": "RSK"
},
{
"name": "RRC20"
},
{
"name": "RIPPLE"
},
{
"name": "MONACOIN"
},
{
"name": "EOS"
}
],
"fingerprint": {
"max": 2,
"enrolled": 1
},
"label": "My D'CENT"
}
}
}
- device_id : device unique identifier
- label : label of the device
- fw_version : firmware version of the device
- ksm_version : KSM(software running on SE) version of the device
- coin_list : the list of coin which the device supported
If you want to change the label of device, you can do it using
setLabel()
fucntion.var result
try{
result = await DcentCLIConnector.setLabel("IoTrust")
}catch(e){
result = e
}
After execute above code, you can see the modified label on your device when reboot the device.
You can add account using
syncAccount()
function. You can create an account by specifying the coin type and key path of the account you want to add. If you want to add token type coin account, you must specify the coin name as the first 14 digits of contract address.let account_infos = [{
coin_group: DcentCLIConnector.coinGroup.ETHEREUM,
coin_name: DcentCLIConnector.coinName.ETHEREUM,
label: 'ETHEREUM_1', // account label
balance: '0 ETH', // {String} balance of account. This string will be displayed on device.
address_path: "m/44'/60'/0'/0/0" // key path of the account. This address_path is displayed on the device with the corresponding address and QR code.
}]
var result
try{
// Ethereum account will be created.
result = await DcentCLIConnector.syncAccount(account_infos)
}catch(e){
result = e
}
syncAccount()
method can be used also for updating account. If the account of the specified key path is already exist, the syncAccount()
method do not create account just sync the account information. For example, if you want to change the label of account or modify the balance, you can use the syncAccount()
method.let account_infos = [{
coin_group: DcentCLIConnector.coinGroup.ETHEREUM,
coin_name: DcentCLIConnector.coinName.ETHEREUM,
label: 'ETH_1', // account label
balance: '1 ETH', // {String} balance of account. This string will be displayed on device.
address_path: "m/44'/60'/0'/0/1" // key path of the account. This address_path is displayed on the device with the corresponding address and QR code.
}]
// This Ethereum account is already created.
// So the Ethereum account label and balance will be just modified.
var result
try{
// Ethereum account will be updated.
result = await DcentCLIConnector.syncAccount(account_infos)
}catch(e){
result = e
}
address_path follows the BIP44 rules.
m / purpose' / coin_type' / account' / change / address_index
Accounts are distinguished by
account'
in address_path.let account_infos = [{
coin_group: DcentCLIConnector.coinGroup.ETHEREUM,
coin_name: DcentCLIConnector.coinName.ETHEREUM,
label: 'ETH_2', // account label
balance: '0 ETH', // balance of account. This string will be displayed on device.
address_path: "m/44'/60'/1'/0/0" // key path of the account. This address_path is displayed on the device with the corresponding address and QR code.
}]
var result
try{
// A New Ethereum account is created.
result = await DcentCLIConnector.syncAccount(account_infos)
}catch(e){
result = e
}
You can retrieve account list of connected device using
getAccountInfo()
function.var result
try{
// A New Ethereum account is created.
result = await DcentCLIConnector.getAccountInfo()
}catch(e){
result = e
}
Returned account object has:
{
"header": {
"version": "1.0",
"response_from": "coin",
"status": "success"
},
"body": {
"command": "get_account_info",
"parameter": {
"account": [
{
"coin_group": "ETHEREUM",
"coin_name": "ETHEREUM",
"label": "eth_1",
"address_path": "m/44'/60'/0'/0/0"
}
]
}
}
}
- label : label of account
- coin_group : coin group name of account
- coin_name : coin name of account
- address_path : address path of account
Last modified 7mo ago