Skip to content

创建钱包iOS

linj edited this page Nov 23, 2022 · 1 revision

1.创建钱包

1.1 创建助记词 createMnem:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | mnemLangType | int | 是 | 1:中文助记词 2:英文助记词 |

返回数据: 助记词

1.2 创建钱包(地址、私钥、公钥) createWalletWithMnem:Chain:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | mnem | string | 是 | 助记词 | | chain | string | 是 | 主链,例如:“BTC” |

返回数据:

参数 类型 说明
address string 地址
priv string 私钥
pub string 公钥

1.3 私钥转地址 privToAddr:Chain:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | chain | string | 是 | 主链,例如:“BTC” | | priv | string | 是 | 私钥 |

返回数据: 币种地址

1.4 公钥转地址 pubToAddr:Chain:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | chain | string | 是 | 主链,例如:“BTC” | | pub | string | 是 | 公钥 |

返回数据: 币种地址

2.交易相关

2.1 获取余额 getBalanceWithAddr:Chain:tokenSymbol:goNodeUrl:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | addr | string | 是 | 币种地址 | | chain | string | 是 | 主链名称,例如:“BTC” | | tokenSymbol | string | 是 | token名称,例如ETH下的“YCC” | | goNodeUrl | string | 是 | 服务器节点 |

返回数据: 币种余额data数据

{
	"id": 1,
	"result": {
		"address": "0x632d8B07CDE8B2dcc3645148d2fa76647565664",
		"balance": "0.02091716"
	},
	"error": null
}

2.2 获取交易记录 getTranListWithAddr:chain:tokenSymbol:tranListType:page:count:goNodeUrl:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | addr | string | 是 | 币种地址 | | chain | string | 是 | 主链名称,例如:“BTC” | | tokenSymbol | string | 是 | token名称,例如ETH下的“YCC” | | type | int | 是 | 交易账单类型(0全部 1入账,2出账) | | page | string | 是 | 页数 | | count | string | 是 | 一页请求的条数| | goNodeUrl | string | 是 | 服务器节点 |

返回数据: 返回:交易记录data数据

参数 类型 说明
blocktime string 交易时间
fee string 手续费
from string 转出地址
height string 区块高度
note string 备注
status string 状态 (-1:失败,0:确认中,1:完成)
to string 转入地址
txid string 交易txid
type string 交易账单类型(0全部 1入账,2出账)
value string 交易数量
{
	"id": 1,
	"result": [{
		"blocktime": 1605774673,
		"fee": "0.007",
		"from": "1P7P4v3kL39zugQgDDLRqxdddddddfKs",
		"height": 11097152,
		"note": "",
		"status": "1",
		"to": "1KgE3vayiqZKhfhMftN7vtddddMk941",
		"txid": "0x3b4f885b01370509be01e258f2ddddd7fc01f65d578d9156a6887f3667c8d",
		"type": "receive",
		"value": "3"
	}, {
		"blocktime": 1602750506,
		"fee": "0.007",
		"from": "1KgE3vayiqZKhfhMftddddHoMk941",
		"height": 10499717,
		"note": "",
		"status": "1",
		"to": "1NkcL7c2LLESnZQgi2dddddKByemsPa5",
		"txid": "0x4fc738785a0e792660858f65d5a9dddddccbc37b1229bd4c5d32fed1c7",
		"type": "send",
		"value": "0.1"
	}]
		"error": null
}

2.3 获取单笔交易详情 getTranByTxid:chain:tokenSymbol:goNodeUrl:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | txid | string | 是 | 交易txid | | chain | string | 是 | 主链名称,例如:“BTC” | | tokenSymbol | string | 是 | token名称,例如ETH下的“YCC” | | goNodeUrl | string | 是 | 服务器节点 |

返回数据:

参数 类型 说明
blocktime string 交易时间
fee string 手续费
from string 转出地址
height string 区块高度
status string 状态 (-1:失败,0:确认中,1:完成)
to string 转入地址
txid string 交易txid
type string 交易账单类型(0全部 1入账,2出账)
value string 交易数量
{
	"id": 1,
	"result": {
		"blocktime": 1605774673,
		"fee": "0.007",
		"from": "1P7P4v3kL39zugQgDDLRqxzGjQd7aEbfKs",
		"height": 11097152,
		"status": "1",
		"to": "1KgE3vayiqZKhfhMftN7vt2gDv9HoMk941",
		"txid": "0x3b4f885b01370509be01e258f277276dc37fc01f65d578d9156a6887f3667c8d",
		"type": "send",
		"value": "3"
	},
	"error": null
}

交易三部曲:构造、签名、发送

2.4 构造 createTranWithChain:fromAddr:toAddr:amount:fee:note:tokenSymbol:goNodeUrl:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | chain | string | 是 | 主链名称,例如:“BTC” | | fromAddr | string | 是 | 出币地址 | | toAddr | string | 是 | 入币地址 | | amount | double | 是 | 数量 | | fee | double | 是 | 手续费| | note | string | 是 | 备注| | tokenSymbol | string | 是 | token名称,例如ETH下的“YCC” | | goNodeUrl | string | 是 | 服务器节点 |

返回数据: 构造的data数据,用于签名

{
	"error": null,
	"id": 1,
	"result": {
		"execer": "Y29pbnM=",
		"payload": "GAEKCgoDQlRZEICt4gQ=",
		"fee": 700000,
		"nonce": 7832532200213791736,
		"to": "1P7P4v3kL39zugQgDDLRqxdddd7aEbfKs"
	}
}

2.5 签名 signTranWithUnSignData:chain:priv:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | chain | string | 是 | 主链名称,例如:“BTC” | | unSignData | string | 是 | 构造后的数据(result) | | priv | string | 是 | 私钥 |

返回数据: 签名后的数据

0a05636f696e73120e18010a0a0a034254591080ade2041a6d0801122103ac71dc39543350e02dce483ce83022b17f4399ed857ed15d4d0c6a92001d51121a46304402201c8ecff7b378f9e50edde928a9f683272142fe202190b7017fbffd88393aa

2.6 发送交易 sendTranWithSignTx:chain:tokenSymbol:goNodeUrl:

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | chain | string | 是 | 主链名称,例如:“BTC” | | tokenSymbol | string | 是 | token名称,例如ETH下的“YCC” | | signTx | string | 是 | 签名后的数据 | | goNodeUrl | string | 是 | 服务器节点 |

返回数据:

参数 类型 说明
result string 交易txid
{
	"id": 1,
	"result": "0xeba51c32447bd1dfa287b85ad41b012ee310ddd4b6a335a568bd3710d834",
	"error": null
}

2.7 平行链构造+签名 pcTran

入参说明:

| 参数 | 类型 | 是否必填 | 说明 | | :-----:| :----: | :----: | | toAddr | string | 是 | 入币地址 | | tokenSymbol | string | 是 | coins币:链名.coins(xx.coins);token币:链名.币名(xx.x) | | execer | string | 是 | 执行器:coins币:user.p.链名.coins ;token币:user.p.链名.token| | txpriv | string | 是 | 本地BTY的私钥 | | amount | string | 是 | 数量 | | note | string | 是 | 备注 | | feePriv | string | 是 |代扣手续费的私钥 | | coinsForFee | string | 是 |coinsForFee 为true,代扣coins币作为手续费 | | tokenfee | string | 是 | 代扣多少coins作为手续费,例如:0.001 | | tokenfeeAddr | string | 是 | 代扣的手续费接收地址 | | fee | string | 是 | 代扣BTY作为整个交易的手续费,单笔交易最低0.001,交易组建议0.003 |

返回数据:

参数 类型 说明
txId string 交易txid
signedTx string 签名后的数据(签名后使用它作为sendTran的入参发送交易)
Clone this wiki locally