准备工作
物料清单
HashNut 提供的物料清单
HashNut 为商户提供了如下物料清单:
| 物料 | 作用 |
|---|---|
| HashNut MPC Client | 部署分账合约管理分账合约收款地址,归集资金,提现资金等 |
| HashNut 控制台 | 创建并管理订单,维护api key,告警邮箱等商户注册信息 |
- 虽然 HashNut 控制台也能提供分账合约部署,归集资金,提现功能,但是建议这些操作使用 HashNut MPC Client 来做。
商户需要准备的物料清单
商户接入 HashNut 需要准备以下物料清单:
| 物料 | 作用 |
|---|---|
| PC 机 | 该PC机运行windows或者MacOS系统,使用该 PC 机运行 HashNut MPC Client。 |
| 数字货币钱包 | 对于你想接入的区块链网络,该钱有足够的gas费,比方说,你想接入 ETH和TRON,那么该钱包需要有充足的ETH和TRX。 |
| 浏览器插件钱包 | 目前 HashNut 支持的公链有 ETH,BSC,POLYGON,TRON。如果你想接入 evm 兼容链: ETH,BSC,POLYGON,你需要在浏览器安装MetaMask;如果你想接入 TRON,你需要在浏览器安装 TronLink。 |
| 稳定的网络 | 可以访问到 hashnut 主网的域名 hashnut.io 以及 defi.hashnut.io |
| 服务器 | 服务器应该拥有公网IP或者域名,可以被 HashNut 的后台服务访问到 |
NOTE
「服务器需要公网可达」这条要求来自 notifyUrl:订单支付完成后是 HashNut 的服务器主动来请求你, 所以那个地址必须能从公网访问到。
另一个参数 callbackUrl 只是用户浏览器的跳转地址,不需要公网可达,填本机地址也可以。 这两个方向相反,是接入时最容易搞反的地方,详见 1.3 填写一键开户的信息。
本地开发阶段还没有公网服务器时,可以用内网穿透临时顶上——ngrok、frp、Cloudflare Tunnel 之类都行,用哪个不影响 HashNut。以 ngrok 为例的具体做法见 附录:本地调试让 notifyUrl 公网可达。
准备步骤
接入 HashNut 需要按照如下步骤进行,其中: 步骤1-4 可以通过 HashNut MPC Client 的一键开户功能一次性完成;步骤5可以通过 HashNut MPC Client 的批量创建地址功能完成。
1. 部署分账合约
分账合约用来清算和结算商户的资产
2. 激活分账合约
激活分账合约的目的是给分账合约分配1个角色 Split Wallet Manager(简称Wallet Manager),该角色的私钥由HashNut和商户通过MPC协商生成。 分账合约被激活之后,才可以添加收款地址,升级逻辑合约等操作。
3. 为分账合约生成收款地址
收款地址的作用是接收商户的用户支付订单的资金。
4. 新建 api key
商户可以通过该api key在服务器上执行创建订单,查询订单,取消订单等操作,同时接收 HashNut 的回调通知。
5. 补充足够的收款地址
如果还需要更多的收款地址,可以继续为该分账合约创建收款地址。
商户上线生产步骤
为了严谨期间,建议商户上线生产环境遵循如下步骤:
1. 一键开户
- 使用 HashNut MPC Client 的一键开户功能,创建好api key,分账合约和少量的收款地址(建议先创建5个)
2. 验证账户
- 验证分账合约 商户可以使用 商户系统 或者 示范商城 创建多个小额订单(最小金额可以是0.01),然后支付这些订单,然后归集资金,提现资金,验证分账合约的功能是否都正常。
- 验证api key 商户也可以使用 示范商城 验证使用 api key 的订单创建,订单查询,回调通知等功能。
3. 补充收款地址
- 上述步骤确认无误之后,商户可以继续补充收款地址,以方便同时能支持更多的空闲订单。
- 这里建议收款地址的数量 补充到 50 的倍数(50,100,200等)。一般来说,对于低频大额支付建议50个即可。高频支付建议200个。
4. 上线生产环境
- 以上步骤都确认无误之后,商户就可以将对接好的程序上线到生产环境。
每个步骤的详细说明
以上四个步骤的具体操作分别在下面四页,建议按顺序阅读: