Vla*_*lov 4 blockchain nearprotocol
当您可能拥有帐户 ID(这是公共信息)或拥有私钥(例如从 NEAR 钱包本地存储中提取),并且您想知道相应的公钥时,有多种情况。
获取相关公钥的选项有哪些?
NEAR 协议使用EdDSA 签名,因此使用 ed25519 密钥。拥有私钥(秘密)密钥,您可以导出相应的公钥(但您不能从公钥导出私钥)。大多数实现 EdDSA 签名的库都允许从密钥派生出公钥,以下是您可以使用的方法near-api-js:
const nearApi = require('near-api-js')
// NEVER SHARE your private (secret) keys! (The key I used below is not used anywhere)
const keyPair = nearApi.KeyPair.fromString('ed25519:43qKAz3LfCTWpTAZPgA1DGsuwbiAjyosXpDrw24efAGP8Q3TcrnoUzTQHNRF5EbNTR38GRVdsHai9sRnzVu755gU')
console.log(keyPair.getPublicKey().toString())
Run Code Online (Sandbox Code Playgroud)
这样,有了私钥,就可以随时离线获取对应的公钥。
如果您没有密钥,您将无法签署交易,但您可能仍然想知道属于某个用户的公钥,在这种情况下,您可以通过RPC查询 NEAR 协议网络:
http post https://rpc.testnet.near.org jsonrpc=2.0 id=dontcare method=query \
params:='{
"request_type": "view_access_key_list",
"finality": "final",
"account_id": "near.test"
}'
Run Code Online (Sandbox Code Playgroud)
或使用卷曲:
curl -X POST https://rpc.testnet.near.org -H 'content-type: application/json' --data \
'{
"jsonrpc": "2.0",
"id": "dontcare",
"method": "query",
"params": {
"request_type": "view_access_key_list",
"finality": "final",
"account_id": "near.test"
}
}'
Run Code Online (Sandbox Code Playgroud)
作为响应,您将找到所有具有给定 ( near.test) 帐户 ID权限的公钥。
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |