跳转到内容

钱包管理

Chaingateway 提供两种生成钱包的方法:密码保护钱包非安全钱包。下面我们描述这两种方法、它们的安全影响以及使用示例。

如果你在向 /api/v2/{blockchain}/addresses 发起的请求中提供了 password 请求体参数,生成的钱包的私钥将以加密格式安全存储。

  • 私钥使用你的密码以及额外的内部加密机制进行加密。
  • 发送交易时,你提供的是 password 而不是私钥。
  • 这种方法通过确保私钥永远不会在 API 请求中暴露来提高安全性。
  • 更新密码:使用 UPDATE /api/v2/{blockchain}/addresses/{address},并附带参数 old_passwordnew_password
  • 导出私钥:使用 POST /api/v2/{blockchain}/addresses/export/{address} 来获取你的私钥(需要密码)。

::: danger 请妥善保管你的密码 我们绝不会在我们的应用程序中存储私钥或密码——无论是在我们的数据库中,还是在我们的日志或异常处理机制中。如果你丢失了密码,我们无法恢复你钱包的私钥。 :::

Terminal window
curl --request POST \
--url https://app.chaingateway.io/api/v2/ethereum/addresses \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"password": "architecto"
}'
Terminal window
curl --request POST \
--url https://app.chaingateway.io/api/v2/ethereum/transactions \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"from": "0xSenderAddress",
"to": "0xRecipientAddress",
"amount": "100",
"password": "password"
}'

如果你在地址创建请求中未提供密码,私钥将直接在响应中返回。这意味着私钥必须由你负责安全地存储和管理。

::: danger 仅用于非永久性钱包 由于私钥包含在响应中,你有责任安全地存储和保护它。我们强烈建议改用密码保护钱包。如果有人获得了你的私钥,他们就可以控制钱包中的所有资金。 :::

  • 私钥在 API 响应中暴露,如果被截获则容易受到攻击。
  • 如果攻击者获得私钥,他们就可以完全控制该钱包。
  • 此方法应仅用于临时钱包或一次性地址。
Terminal window
curl --request POST \
--url https://app.chaingateway.io/api/v2/tron/addresses \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--header 'Content-Type: application/json'
Terminal window
curl --request POST \
--url https://app.chaingateway.io/api/v2/ethereum/transactions \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"from": "0xSenderAddress",
"to": "0xRecipientAddress",
"amount": "100",
"password": "password"
}'