You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Chainlink Oracle私钥以取回Kovan、BNB测试网剩余资金

第一步:定位加密私钥文件keys.json

keys.json默认存储路径和你的部署方式直接相关,可通过以下方式查找:

  • Docker部署的官方节点:默认存储在你挂载的本地卷对应的./chainlink/.chainlink/子目录下,若找不到可执行全局搜索命令:find / -name "keys.json" 2>/dev/null
  • 若全局搜索不到,可直接从运行中的节点容器内拷贝文件:
    1. 查看节点容器ID:docker ps | grep chainlink
    2. 进入容器内部:docker exec -it <替换为你的容器ID> bash
    3. 容器内默认存储路径为/home/clnode/.chainlink/,在该路径下即可找到keys.json,拷贝到宿主机即可使用

第二步:用secrets文件解密获取明文私钥

你找到的secrets文件是节点的密码存储文件,里面存的是keystore解密密码,不是私钥本身,需用该密码解密keys.json才能拿到私钥:

  1. 提取解密密码:直接打开secrets文件,第一行内容就是解密密码,注意去掉首尾多余的空格、换行符
  2. 离线解密私钥:可使用eth-account工具做本地离线解密,操作如下:
    • 先安装依赖:pip install eth-account
    • 运行解密脚本:
    from eth_account import Account
    import json
    
    # 读取keys.json和secrets文件
    with open("替换为你的keys.json文件路径") as f:
        keystore_json = json.load(f)
    with open("替换为你的secrets文件路径") as f:
        decrypt_pwd = f.read().strip()
    
    # 匹配对应测试网的钱包地址,取出对应的keystore条目
    target_addr = "替换为你的节点测试网钱包地址,小写不带0x也可"
    target_keystore = next(item for item in keystore_json if item["address"].lower() == target_addr.lower().strip("0x"))
    
    # 解密得到明文私钥
    private_key = Account.decrypt(target_keystore, decrypt_pwd).hex()
    print("私钥:", private_key)
    
  • 解密全程请断开网络操作,不要将keystore、secrets文件上传到任何公开网络环境,避免资产被盗

内容的提问来源于stack exchange,提问作者DND

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:15:02