获取链下数据源,目前有两种方式:1.直接采用 Ares Protocol 官方提供的数据源进行配置;2.自行搭建链下数据源。
Ares Protocol 是一个去中心化跨链预言机平台,真正实现了数据链上验证的全新一代跨链预言机服务协议。
由于区块链是一个封闭的环境,链上无法主动获取来自链下真实世界的数据,所以需要预言机引入可信数据源。确保数据源的可信安全是搭建验证人节点至关重要的一环,它决定着Gladios报价的准确度。
在测试网Gladios上获取链下数据源,目前有两种方式:
ares 报价服务器的IP地址为官方地址:https://api.aresprotocol.io/
./target/release/gladios-node --base-path /tmp/aura/one --name ocw_one --telemetry-url 'wss://telemetry.polkadot.io/submit/ 0' --warehouse http://api.aresprotocol.io/ --validator
参数:(必选) --warehouse 用来指定 ares 报价服务器的IP地址。参数:(必选)--validator 用来表示启动一个验证人节点。
*运行数据源,需要先运行验证人节点,进行质押步骤。详情请见「测试网Gladios开启第二轮节点公测(下)」。
打开“https://warehouseui.aresprotocol.io/”,目前已支持77种资产报价。
数据源来自Bitstamp、Bitfinex、OKEx、Binance、Kucoin、Huobi、Coinbase等多家数字货币交易所。根据官方设定的权重,将会实时地对资产进行报价。
每隔1分钟,Warehouse报价系统都会汇聚各资产数据源的数值,进行最新一轮的报价。同时在数据库中,数值每5分钟将会存储一次。
当您选择自行搭建链下数据源,有Docker和编译源码两种方式可供选择。
您可以从github获取源,运行
git clone https://github.com/aresprotocols/warehouse.git
cd warehouse/price_server/deploy
将env_example复制到.env
cp env_example .env
修改.env文件并更改mysql密码
MYSQL_ROOT_PASSWORD=xxx
如果您想修改其他配置,您可以按照“Configuration”部分修改configs/config.toml文件
使用docker-compose来开启服务
docker-compose up -d
使用docker-compose关闭服务
docker-compose down
您可以从github获取源,运行
git clone https://github.com/aresprotocols/warehouse.git
编译源码需要在go环境下进行
使用ubuntu安装
## installwget https://studygolang.com/dl/golang/go1.13.4.linux-amd64.tar.gztar xfz go1.13.4.linux-amd64.tar.gz -C /usr/local## configvim ~/.bashrcexport GOPATH=/usr/local/goexport PATH=$GOPATH/bin:$PATHsource ~/.bashrc
使用mac安装
brew install go
安装完成后,执行
cd price_servergo build
完成安装
在您运行前, 您可以配置您的项目。使用您喜欢的编辑器,例如
vim conf.toml
port = 5566 # 服务器监听,默认值为 5566
proxy = "http://127.0.0.1:7890/" # 您的代理ip和端口
proxy = "" # 不使用代理
symbols = ["btc-usdt", "eth-usdt", "dot-usdt", "xrp-usdt"] #你感兴趣的交易对
[mysql] # 添加你的mysql配置项
安装mysql服务器并启动
使用ubuntu安装
sudo apt updatesudo apt install mysql-server
在mac中安装
brew install mysql
当mysql版本 >= 8.0, 还需要如下配置:
mysql -u root -puse mysql;GRANT ALL ON *.* TO 'root'@'%';flush privileges;ALTER USER 'root'@'localhost' IDENTIFIED BY '$yourpassword$' PASSWORD EXPIRE NEVER;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '$yourpassword$';FLUSH PRIVILEGES;
执行
./start.sh
获取交易所价格
URL: api/getPrice/$symbol/$market
获取聚合后价格
URL: api/getPartyPrice/$symbol
获取某个交易对的所有交易
URL: api/getPriceAll/$symbol
批量获取交易对价格
URL: api/getBulkPrices
获取请求配置信息
URL: api/getReqConfig
获取请求交易所的错误信息
URL: api/getHttpErrorInfo
设置价格权重
URL: api/setWeight
详情请见Warehouse 接口文档https://docs.aresprotocol.io/docs/en/WarehouseApi
里面记载了你在自行搭建时可能需要的API接口、相关示例及其效果。这将帮助你更好地搭建链下数据源。
打开“https://warehouseui.aresprotocol.io/”,点击「更改源」,在方框中输入指定 ares 报价服务器的IP地址。例如:http://167.179.113.240:5566/,点击「增加源」。
增加源后,需要点击切换至最新IP地址,如下图。
您将会看到按照你设置的价格权重,生成的最新资产价格。
以及您搭建数据源后,生成最新的报价数据库。
部署节点、运行验证人节点将在「测试网Gladios开启第二轮节点公测(下)」 为大家公布相关流程,请耐心阅读!
Ares Protocol China
Ares Protocol 是一个去中心化跨链预言机平台,真正实现了数据链上验证的全新一代跨链预言机服务协议,并首创为数据使用者因使用预言机数据遭受业务损失时开辟补偿通道。
Ares Protocol是基于Substrate框架开发,支持混合Babe和链下工作机的随机安全预言机解决方案,融合波卡最新的链上治理,将Optimistic Rollup挑战模型带入预言机领域,支持Ink合约生态,给DeFi开发者带来更加优质的预言机服务。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!