Version: 1.3.0
Signer
安全签名机用以对多笔提现交易进行离线签名,加速交易发布到区块链的流程。
安装安全签名机
1. 获取安全签名机源文件
通过 Github 拉取安全签名机文件。
Github 仓库地址:https://github.com/PayProtocol-Network/SignTool.git
2. 构建 Docker 镜像
进入拉取的项目目录,运行以下命令,这将构建一个名为 signer:1.0
的 docker 镜像:
docker build -t signer:1.0 .
3. 下载 ENV 配置文件
登录后台下载对应的 .env
文件,以沙盒为例,访问 https://adm-sandbox.payprotocol.network,定位到图中所示页面,点击下载ENV文件
,得到一个 test.env
文件。
(注:如果是正式环境,请访问 https://adm.payprotocol.network 下载 prod.env
文件)
4. 配置环境变量
打开步骤 3 下载的 test.env
文件,将合约中 owner 钱包地址的私钥以及商户参数写入安全签名机环境文件(以沙盒环境 test.env
为例)。
私钥只会在安全签名机内部使用并用来签署交易,并且永远不会暴露在安全签名机外部。
使用文本编辑器打开环境文件。正确填写所有参数:
SPRING_PROFILES_ACTIVE=test
MER_API_KEY=商户 API Key
MER_API_SECRET=商户 Secret Key
EVM_PRIVATE_KEY={"139":"EVM(以太坊)owner 钱包地址私钥"}
TVM_PRIVATE_KEY={"136":"TVM(波场)owner 钱包地址私钥"}
# 以下配置均无需修改
EVM_BATCH_TRANSFER={}
EVM_MULTI_SIG_COLD={}
EVM_COLD_POOL_ADDR={}
EVM_TOOL_HELPER_ADDR={}
EVM_MER_ACCOUNT_ADDR={}
EVM_FACTORY_ADDR={}
TVM_BATCH_TRANSFER={}
TVM_MULTI_SIG_COLD={}
TVM_COLD_POOL_ADDR={}
TVM_TOOL_HELPER_ADDR={}
TVM_MER_ACCOUNT_ADDR={}
TVM_FACTORY_ADDR={}
TEST_TX_PARAM_URL=https://api-sandbox.payprotocol.network/api/mer/withdraw/transactionDetail
TEST_CURRENCY_URL=https://api-sandbox.payprotocol.network/api/mer/conf/list/currency
TEST_ESTIMATION_URL=https://api-sandbox.payprotocol.network/api/mer/transaction/estimate
TEST_WITHDRAWAL_URL=https://api-sandbox.payprotocol.network/api/mer/withdraw/submit
TEST_REBALANCE_URL=https://api-sandbox.payprotocol.network/api/mer/balance/submit
TEST_SUBMIT_AGGREGATEURL=https://api-sandbox.payprotocol.network/api/mer/summary/submit
TEST_AGGREGATE_URL=https://api-sandbox.payprotocol.network/api/mer/summary/list
TEST_BALANCES_URL=https://api-sandbox.payprotocol.network/api/mer/transaction/balances
TX_PARAM_URL=https://api.payprotocol.network/api/mer/withdraw/transactionDetail
CURRENCY_URL=https://api.payprotocol.network/api/mer/conf/list/currency
ESTIMATION_URL=https://api.payprotocol.network/api/mer/transaction/estimate
WITHDRAWAL_URL=https://api.payprotocol.network/api/mer/withdraw/submit
REBALANCE_URL=https://api.payprotocol.network/api/mer/balance/submit
SUBMIT_AGGREGATEURL=https://api.payprotocol.network/api/mer/summary/submit
AGGREGATE_URL=https://api.payprotocol.network/api/mer/summary/list
BALANCES_URL=https://api.payprotocol.network/api/mer/transaction/balances
请确保 owner 钱包地址在 “TRON 链” / “ETH 链”上拥有 TRX / ETH,因为在交易发布后,它需签名交易并支付一定的网络费用。
5. 运行 Docker 容器
保存以上文件于 git 下载的项目目录中。运行以下命令来启动安全签名机:(外部端口 8080
可自行调整)
$ docker run --env-file ./signer.env -p 8080:9980 -d --name signer signer:1.0
验证器现在正在运行并侦听。我们可以使用以下命令验证它是否正在运行:
$ docker ps
输出应包含一个带有我们刚刚运行的映像名称的条目,如下所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dcd43bbe138a signer:1.0 "java -jar /home/jav…" 4 seconds ago Up 3 seconds 0.0.0.0:8080->9980/tcp, :::8080->9980/tcp signer