跳到主要内容

4. 登录与注册

登录与注册

请求格式说明:

  • D_Encryption - 加密方式:rsa、pass、none。登录成功前使用 rsa 加密,登录成功后使用 pass 加密。
  • 特别说明: 如需浏览器支持,需要在本地启动 https 服务器代理,通过代理访问本地信任机器接口,前端可以使用 none 模式进行无加密通信。
  • D_Session - 首次连接返回的会话 ID。后续所有通信都必须包含此 ID,以识别为同一连接。
  • 注意: 文档中所有以 "D_" 开头后跟下划线的关键字均为已定义的关键字,需要替换为相应的定义,后续不再逐一说明。

获取会话 ID

POST chain_getKey (获取加密公钥)
参数

响应
http codecontent-typeresponse
0application/json{"session":"...","pubkey":"..."}

响应字段说明:

  • Session - 后续连接的会话 ID
  • pubkey - 服务器为当前连接分配的通信公钥
示例 cURL
{
"jsonrpc": "3.0",
"method": "chain_getKey",
"params": [],
"id": 1
}
响应示例
{
"jsonrpc": "3.0",
"id": 1,
"result": {
"ret": "0",
"err": "",
"content": {
"session": "5cbb9dab5678e998670e9e61",
"pubkey": "q\r\nHQIDAQAB\r\n"
}
}
}

注册

POST chain_register (注册账户)
参数
nametypedata typedescription
accountrequiredstring账户名
passwordrequiredstring密码
referoptionalstring推荐人地址
invitenonceoptionalstring邀请码
响应
http codecontent-typeresponse
0application/json{"txhash":"..."}

响应字段说明:

  • txhash - 当前交易哈希
  • 注册结果需要从交易结果查询中获取
示例 cURL
{
"jsonrpc": "3.0",
"method": "chain_register",
"params": ["opcode=Account&subcode=Add&account=&password=&refer=", "encryp=none"],
"id": "aa80aa0c6bb0c7d81ac7e5b3"
}
响应示例
{
"jsonrpc": "3.0",
"id": "a1aa68e1666efb46a61e2cd2",
"result": {
"ret": "0",
"err": "",
"content": {
"txhash": "0x5c0407caf8df3ae28202e068b6f97025f69852688afce09de11f8283fbb7dd48"
}
}
}

登录

POST chain_logon (账户登录)
参数
nametypedata typedescription
accountrequiredstring账户名
passwordrequiredstring密码
响应
http codecontent-typeresponse
0application/json{"info":"..."}

响应字段说明:

  • info - Base64 加密的账户地址信息
示例 cURL
{
"jsonrpc": "3.0",
"method": "chain_logon",
"params": ["opcode=Account&subcode=Logon&account=&password=", "encryp=none"],
"id": "aa80aa0c6bb0c7d81ac7e5b3"
}
响应示例
{
"jsonrpc": "3.0",
"id": "2ec689ba8b07f98ed9e6b504",
"result": {
"ret": "0",
"err": "",
"content": {
"info": "eyJhZGRy......"
}
}
}

导出助记词

POST chain_exportKeystore (导出助记词)
参数

响应
http codecontent-typeresponse
0application/json{"info":"..."}

响应字段说明:

  • info - Base64 加密的助记词内容
示例 cURL
{
"jsonrpc": "3.0",
"method": "chain_exportKeystore",
"params": ["opcode=Account&subcode=exportMnem", "encryp=none"],
"id": "aa80aa0c6bb0c7d81ac7e5b3"
}
响应示例
{
"jsonrpc": "3.0",
"id": "2ec689ba8b07f98ed9e6b504",
"result": {
"ret": "0",
"err": "",
"content": {
"info": "cGxlYXNlIGF0aGxldGUgaGVhdnkgYXVndXN0IHRydXRoIHJvYXN0IG1pcmFjbGUgc3Ryb25nIGVsYm93IGRpc21pc3Mgc3BlbGwgY2hpY2tlbg=="
}
}
}

登出

POST chain_logout (登出)
参数

响应
http codecontent-typeresponse
0application/json成功确认
示例 cURL
{
"jsonrpc": "3.0",
"method": "chain_logout",
"params": ["opcode=Account&subcode=Logout", "encryp=none"],
"id": "aa80aa0c6bb0c7d81ac7e5b3"
}
响应示例
{
"jsonrpc": "3.0",
"id": "2ec689ba8b07f98ed9e6b504",
"result": {
"ret": "0",
"err": "",
"content": ""
}
}