Skip to content

1.一键开户 ​

1.1 下载 HashNut MPC Client ​

去下面的地址,根据你的PC机的操作系统和CPU架构,下载最新版本的 HashNut MPC Client,并解压缩。

https://github.com/nuttybounty/hashnut-mpc-client/releases

NOTE

HashNut MPC Client 目前没有支持 windows-arm64 架构,但是经过测试,windows-arm64 架构的PC依旧可以兼容运行 windows-amd64 版本。

NOTE

如果你的系统是MacOS,那么你还需要执行下面的命令,绕开MacOS的安全检查

shell
xattr -cr ./hashnut-mpc-mainnet-darwin-arm64

如果你下载的是 amd64 版本,则执行

shell
xattr -cr ./hashnut-mpc-mainnet-darwin-amd64

NOTE

HashNut 的服务不会保存你的私钥和密码,请妥善保管,丢失无法找回。导入私钥之后会生成 keys.db,也请妥善保管,否则丢失后无法新增收款地址。使用HashNut MPC Client的时候请确保keys.db放在同一个文件夹下面。

1.2 初始化钱包 ​

  • 设置密码 img

  • 导入钱包私钥 将你的私钥导入到钱包,默认导入的是 evm ,如果你的钱包是波场钱包,则选 tron。

  • 点击 "导入钱包" 按钮 img

  • 选择导入钱包类型 img

  • 黏贴私钥并导入 mpc-client-import-wallet-paste-import.png img

  • 导入完成 img

  • 切换到你想接入的区块链 img

1.3 填写一键开户的信息 ​

  • 进入一键开户界面 img

  • 填写一键开户参数 img

    • 一键开户的参数作用如下:
    参数名作用
    合约别名分账合约的名称,部署完成后,你可以在商户系统或者MPC Client的分账合约界面看到对应名称的分账合约信息
    提现地址商户收到用户支付订单的资金后,归集,然后提现时的收款地址
    Token收款授权分账合约转出的token类型,默认是usdt,收款地址会将token的转出权限授予分账合约,然后商户归集资金的时候可以通过分账合约从收款地址转出token
    收款地址数量创建收款地址的数量,这里建议只设置5个,等验证订单创建,资金归集和提现没有问题之后,再继续补充足够多的地址,建议至少补充到50个
    notifyUrl商户接受 HashNut 关于订单的通知的 url,可以理解为 webhook url
    callbackUrl订单创建成功后,从HashNut支付页面跳转到的 url
    bindIp商户创建订单的服务器的外网IP,这里建议暂时设置为 *,等调试通过后,再去商户系统里面绑定
    长款策略用户超额支付订单,商户如何处理,这里默认是自动确认,也就是用户超额支付后,商户自动认为订单成功
    短款策略用户没有足够支付的金额,HashNut是否通知商户,这里默认通知商户
    备注api key的备注名称,一键开户完成后,可以在商户看到这个备注

TIP

本地开发调试阶段,本机地址无法被公网访问,而 notifyUrl 是 HashNut 主动来请求你的地址, 必须公网可达。有公网服务器就直接用;本地开发可以用内网穿透(ngrok / frp / Cloudflare Tunnel 等) 临时顶上,做法见 附录:本地调试让 notifyUrl 公网可达。 建议先把公网地址准备好再填下面的参数,免得填完发现通知收不到又要回头改。

callbackUrl 是浏览器跳转,不需要公网,本地开发直接用示范商城前端的地址 http://localhost:5173/payment-result 就行。

  • 评估手续费 img

  • 点击确认开户 img

  • 开户中 img

  • 开户完成 img

1.4 保存开户信息 ​

img

  • 最终的开户信息如下
    text
    HashNut 一键开户结果
    生成时间: 2026-08-01 14:54:46
    ============================================================
    
    链            ETH
    分账合约      0xbd09...fca
    合约别名      demo-1
    提现地址      0x4d....ec
    Token        usdt (0xdac17f958d2ee523a2206206994597c13d831ec7)
    收款地址数    5
    部署交易      0xa19....73d
    
    accessKey     01...YW
    secretKey     H1...Tt
    notifyUrl     https://.../api/notify
    callbackUrl   http://.../payment-result
    bindIp        *
    长款策略      自动确认(默认) (AUTO_CONFIRM)
    短款策略      通知商户(默认) (NOTIFY)
    
    ------------------------------------------------------------
    粘贴到 demo-go / demo-java 的 migrate.sql
    ------------------------------------------------------------
    -- HashNut 一键开户导出:ETH / demo-1
    INSERT INTO t_hashnut_api_key (block_chain, splitter, access_key_id, secret_key) VALUES
        ('ETH', '0xbd09...fca', '01...YW', 'H1...Tt')
    ON CONFLICT (block_chain) DO UPDATE SET
        splitter = EXCLUDED.splitter,
        access_key_id = EXCLUDED.access_key_id,
        secret_key = EXCLUDED.secret_key;