使用1Panel搭建TokenPay加密货币支付系统

TokenPay是一款开源的,支持以动态收款地址或静态收款地址收取波场的TRXUSDT-TRC20以及ETH系原生币以及ETH系ERC20代币的支付解决方案! 理论上支持所有ETH系的区块链,常见的ETH系的区块链有:以太坊(ETH)币安智能链(BSC)Polygon等等。在本篇博文中,我们将介绍如何在1Panel上搭建TokenPay支付系统,以实现对TRX、USDT和ETH等加密货币的支付处理。

环境准备

在开始之前,请确保您已经拥有以下环境:​

  • 服务器:​一台运行Linux操作系统的服务器,建议使用Ubuntu 20.04或更高版本。​
  • 1Panel:​在服务器上安装并配置好1Panel面板。​
  • 域名:​已备案并指向服务器IP的域名。​
  • SSL证书:​为域名配置SSL证书,确保网站支持HTTPS访问。

第一步:创建Docker-Compose.yml

services:
  app:
    container_name: token-pay
    restart: always
    build:
      context: .
    image: token-pay:lastest
    ports:
      - 8080:8080
    volumes:
      - ./TokenPay/appsettings.json:/app/appsettings.json
      - ./TokenPay/EVMChains.json:/app/EVMChains.json
      - ./TokenPay/TokenPay.db:/app/TokenPay.db
    networks:
      - 1panel-network
networks:
    1panel-network:
        external: true

1Panel->系统->文件 中找到/opt路径,创建TokenPay文件夹,下载TokePay项目文件到此文件夹下,并解压出文件,进入文件把src文件夹中所有文件移动到此文件夹下,并修改docker-compose.yml文件,并把以上代码复制粘贴进去后保存。

图片[1]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

第二部:配置TokenPay参数

进入TokenPay文件夹,找到appsettings.jsonEVMChains.json两个文件,分别修改需要替换的部分内容:

appsettings.json

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DB": "Data Source=|DataDirectory|TokenPay.db; Pooling=true;Min Pool Size=1"
  },
  "TRON-PRO-API-KEY": "xxxxxx-xxxx-xxxx-xxxxxxxxxxxx", // 避免接口请求频繁被限制,此处申请 https://www.trongrid.io/dashboard/keys
  "BaseCurrency": "CNY", //默认货币,支持 CNY、USD、EUR、GBP、AUD、HKD、TWD、SGD
  "Rate": { //汇率 设置0将使用自动汇率
    "USDT": 0,
    "TRX": 0,
    "ETH": 0,
    "USDC": 0
  },
  "ExpireTime": 1800, //单位秒
  "UseDynamicAddress": false, //是否使用动态地址,设为false时,与EPUSDT表现类似;设为true时,为每个下单用户分配单独的收款地址
  "Address": { // UseDynamicAddress设为false时在此配置TRON收款地址,EVM可以替代所有ETH系列的收款地址,支持单独配置某条链的收款地址
    "TRON": [ "Txxxx1" ],
    "EVM": [ "0x111" ]
  },
  "OnlyConfirmed": true, //默认仅查询已确认的数据,如果想要回调更快,可以设置为false
  "NotifyTimeOut": 3, //异步通知超时时间
  "ApiToken": "666666", //异步通知密钥,请务必修改此密钥为随机字符串,脸滚键盘即可
  "WebSiteUrl": "http://token-pay.xxxxx.com", //配置服务器外网域名
  "Telegram": {
    "AdminUserId": 12345678, // 你的账号ID,如不知道ID,可给https://t.me/EShopFakaBot 发送 /me 获取用户ID
    "BotToken": "1234567890:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" //从https://t.me/BotFather 创建机器人时,会给你BotToken
  }
}

EVMChains.json

{
  "EVMChains": [
    {
      "Enable": false, // false 表示不启用此区块链, true 表示启用
      "ChainName": "以太坊",
      "ChainNameEN": "ETH",
      "BaseCoin": "ETH",
      "Decimals": 18,
      "ScanHost": "https://etherscan.io",
      "ApiHost": "https://api.etherscan.io",
      "ApiKey": "", // 此处申请 https://etherscan.io/myapikey
      "ERC20Name": "ERC20",
      "ERC20": [
        {
          "Name": "USDT",
          "ContractAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
        },
        {
          "Name": "USDC",
          "ContractAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
        }
      ]
    },
    {
      "Enable": false, // false 表示不启用此区块链, true 表示启用
      "ChainName": "币安智能链",
      "ChainNameEN": "BSC",
      "BaseCoin": "BNB",
      "Decimals": 18,
      "ScanHost": "https://www.bscscan.com",
      "ApiHost": "https://api.bscscan.com",
      "ApiKey": "", // 此处申请 https://bscscan.com/myapikey
      "ERC20Name": "BEP20",
      "ERC20": [
        {
          "Name": "USDT",
          "ContractAddress": "0x55d398326f99059ff775485246999027b3197955"
        },
        {
          "Name": "USDC",
          "ContractAddress": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"
        }
      ]
    },
    {
      "Enable": false, // false 表示不启用此区块链, true 表示启用
      "ChainName": "Polygon",
      "ChainNameEN": "Polygon",
      "BaseCoin": "POL",
      "Decimals": 18,
      "ScanHost": "https://polygonscan.com",
      "ApiHost": "https://api.polygonscan.com",
      "ApiKey": "", // 此处申请 https://polygonscan.com/myapikey
      "ERC20Name": "ERC20",
      "ERC20": [
        {
          "Name": "USDT",
          "ContractAddress": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
        },
        {
          "Name": "USDC",
          "ContractAddress": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
        }
      ]
    }
  ]
}
图片[2]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

第三步:部署TokenPay容器

返回到上一级菜单,进入此菜单的终端。

图片[3]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

输入命令:docker compose up -d

图片[4]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

这样就完成部署。

第四部:配置反向代理

上面已经把映射8080端口位监听端口,需要在1Panel中设置反向代理,将外部请求转发到该端口。

添加反向代理:​在1Panel中,进入“网站” -> “创建”->“反向代理” 。

填写信息

  • 主域名:填写你的域名
  • 代理地址:​填写http://127.0.0.1:8080。​
  • 备注:​填写tokenpay

保存设置:​点击“确认”保存反向代理设置。

图片[5]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

第五步:验证安装

完成上述步骤后,访问您的TokenPay网站域名,例如http://yourdomain.com,如果看到“服务正常运行中…”的提示,表示TokenPay已成功搭建。

图片[6]|使用1Panel搭建TokenPay加密货币支付系统|TechTink技术微匠

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容