Permaswap Network 采用了 AMM 技术,是一个完全去中心化的分布式 P2P 交易网络
https://mirror.xyz/permaswap.eth/kdg0iXx1jB-vXYEc_WEAeTNX_sGjv8BXksHxcFdoKjo 。
用户可以通过运行 Permaswap 的 LP 客户端,为 Permaswap 提供资金流动性。
类似于为 Uniswap 提供流动性,提供流动性需要占用流动性提供者(即 LP )一定资金量。LP可以设置做市的价格范围和提供的资金量。LP 在获得手续费作为收入的同时,也有可能产生一定无常损失。
和 Uniswap 提供流动性不同的是:
目前可用的 Permaswap 的 LP 客户端有:
本文是 Golang LP 客户端做市的教程,流动性提供者可以按照该教程部署 LP 节点,在 Permaswap 网络中进行 AMM 自动做市。
其他资料:
everpay 的介绍:
https://everpay.zendesk.com/hc/zh-cn/articles/4404204530201-everPay-产品介绍
everpay 上的资产:
https://everpay.zendesk.com/hc/zh-cn/articles/4405069888537-什么是-everPay-余额-
测试网用户也可以从 everpay 的水龙头领取测试代币,测试产品
https://faucet-dev.everpay.io/
everpay 目前支持以太坊和 arweave 账号系统。
用户可以用 metamask 钱包 或者 arconnet 钱包生成账号,并在 everPay 持有做市资产。
测试环境:需要持有 tUSDC 和 tAR。可以通过测试环境 水龙头 faucet 获得 tUSDC。
提供流动性需要有至少两种资产。比如想为 tUSDC-tAR 的交易对池子提供流动性,用户需要同时持有 tUSDC 和 tAR 两种资产。
用户在水龙头获得 tUSDC 后,可以去 swap 兑换获得 tAR 或者 tADRIVE,从而为相应的交易对池子做市。
生产环境:用户需要将资产充值到 everPay。
教程: https://everpay.zendesk.com/hc/zh-cn/articles/4404197313433-充值
使用 Golang 版本 CLI 客户端推荐以下配置:
环境标志:testnet
ChainID:5
URL:
支持的 Token 信息:
token | token tag | decimals | 说明 |
---|---|---|---|
tAR | bsc-tar-0xf1458ee7e9a2096bce7a21c160840a3a291bcb55 | 12 | |
tARDRIVE | bsc-tardrive-0xf4233b165f1b8da4f9aa94abc35c9ad2a7612979 | 18 | |
tUSDC | bsc-tusdc-0xf17a50ecc5fe5f476de2da5481cdd0f0ffef7712 | 6 |
支持的交易对池子 Pool 信息:
Pool | Pool ID | token-x | token-y | 费率 |
---|---|---|---|---|
tAR-tUSDC | 0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a | tAR | tUSDC | 0.3 % |
tAR-tARDRIVE | 0x196ca0c5e44d776e1d7ee1e6485030ea43ee4bad225e3312685048827eaf2a92 | tAR | tARDRIVE | 0.3 % |
环境标志:mainnet
ChainID:1
URL:
支持的 Token 信息:
token | token tag | decimals | 说明 |
---|---|---|---|
AR | arweave,ethereum-ar-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0x4fadc7a98f2dc96510e42dd1a74141eeae0c1543 | 12 | 公链 arweave 原生代币 |
ETH | ethereum-eth-0x0000000000000000000000000000000000000000 | 18 | 公链以太坊 ethereum 原生代币 |
USDC | ethereum-usdc-0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 | 6 | 以太坊上发行的 USDC erc20 代币 |
USDT | ethereum-usdt-0xdac17f958d2ee523a2206206994597c13d831ec7 | 6 | 以太坊上发行的 USDT erc20 代币 |
支持的交易对池子 Pool 信息:
Pool | Pool ID | token-x | token-y | 费率 |
---|---|---|---|---|
AR-USDC | 0x0750e26dbffb85e66891b71b9e1049c4be6d94dab938bbb06573ca6178615981 | AR | USDC | 0.3 % |
AR-ETH | 0x5f0ac5160cd3c105f9db2fb3e981907588d810040eb30d77364affd6f4435933 | AR | ETH | 0.3 % |
ETH-USDC | 0x7eb07d77601f28549ff623ad42a24b4ac3f0e73af0df3d76446fb299ec375dd5 | ETH | USDC | 0.3 % |
USDC-USDT | 0xdb7b3480f2d1f7bbe91ee3610664756b91bbe0744bc319db2f0b89efdf552064 | USDC | USDT | 0.05 % |
从官网下载 linux Lp 客户端 Permaswap.linux.tar.gz。
测试环境:https://app-dev.permaswap.network/#/pool
生产环境:https://app.permaswap.network/#/pool
下载解压缩后,有 lp、lpconifg、run.sh 三个文件:
生成lp做市的配置文件,分为2个步骤:
lpconfig --info 获取目前可以做市的Pool信息;
--network 设置连接的网络,可以为 testnet 或者 mainnet
lpconfig --info --network testnet
lpconfig --network testnet -p poolid -low 做市的最低价格 -current 当前价格 -high 最高价格 -x tokenx的数量 -c 配置文件的路径
其中
-p poolid 为池子的id,从第一步获取;
--network 设置连接的网络,可以为 testnet 或者 mainnet;
-low 做市的最低价格 ;
-current 当前价格;
-high 做市的最高价格;
-x -y 做市的资金计算过程中,tokenX 或者tokenY的数量只需填写一个,另一个需要的数量会自动计算得出;
-c 配置文件的路径;
示例:
lpconfig --network testnet -p 0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a -low 1 -current 10 -high 20 -x 100 -c lp_config.json
以上命令会生成一个在池子0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a( tAR-tUSDC )做市的lp配置文件 。
价格范围在 1 tUSDC / tAR - 20 tUSDC / tAR,当前价格为 10 tUSDC / tAR,做市资金的 tokenX (即 tAR )的数量是 100。 生成的配置文件为当前目录下的 lp_config.json。
如果是价格范围是 full_range, 加入选项 -f,选项 -low 和 -high 不用提供。
示例:
lpconfig --network testnet -p 0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a -current 10 -y 1000 -c lp_config.json
生成一个在池子0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a(tAR-tUSDC)做市的lp配置文件,价格范围是 full-range,当前价格为 10 tUSDC / tAR,做市资金 tokenY( 即 tUSDC )的数量是 1000。 生成的配置文件为 lp_config.json。
已有一个 lp 配置,添加第二个 lp 配置信息,只需在 -c 选项指定为已有配置的lp配置文件。
示例:
lpconfig --network testnet -p 0xb57de84c67306cc740021ba9ec328d9b2e351b2196caf96d8a6117a6e6bc680a -current 10 -y 1000 -c lp_config.json
此时 lp_config.json 已经包含了第一个lp的配置信息,第二个lp配置信息会添加在文件尾。
export ETH_CHAIN_ID="5"
export PAY="<https://api-dev.everpay.io>"
export PERMA_WS="wss://router0-dev.permaswap.network/wslp"
export PERMA_HTTP="<https://router0-dev.permaswap.network>"
export LP_CONFIG="./lp_config.json"
export AR_WALLET="ar_wallet.json"
#export ECC_PRIVATE=""
./lp
screen -S lp #新开一个screen session
source [run.sh](<http://run.sh/>)