交易对手协议参考实施
counterparty-lib的Python项目详细描述
说明
counterparty-lib是 Counterparty Protocol。
注意:有关counterparty-lib的命令行接口,请参见 `counterparty-cli<;https://github.com/CounterpartyXCP/counterparty-cli>;`\
安装
对于一个简单的基于Docker的对方软件栈的安装, 见this guide。
手动安装
下载最新的patched Bitcoin Core并创建 bitcoin.conf具有以下选项的文件:
rpcuser=bitcoinrpc rpcpassword=rpc server=1 txindex=1 addrindex=1 rpctimeout=300
注意:您可以也应该替换rpc凭据。记住 在整个文档中使用更改的rpc凭据。
然后,下载并安装counterparty-lib:
$ git clone https://github.com/CounterpartyXCP/counterparty-lib.git $ cd counterparty-lib $ sudo pip3 install --upgrade -r requirements.txt $ sudo python3 setup.py install
后跟counterparty-cli:
$ git clone https://github.com/CounterpartyXCP/counterparty-cli.git $ cd counterparty-cli $ sudo pip3 install --upgrade -r requirements.txt $ sudo python3 setup.py install
关于sudo的说明:交易对手lib和交易对手服务器都可以是 由非sudoers安装。请参考外部文件 关于在没有根访问权限和其他信息的情况下使用pip的说明 与自定义安装位置相关。
然后,通过:
$ counterparty-server bootstrap $ counterparty-server --backend-password=rpc start
基本用法
通过命令行
(需要安装counterparty-cli。
- 第一次运行服务器时,可以引导本地服务器 数据库具有:$ counterparty-server bootstrap
- 使用$ counterparty-server start 启动服务器
- 使用以下命令检查服务器的状态: $ counterparty-client getinfo
- 有关其他命令行参数和选项: $ counterparty-server--help$ counterparty-client--help
通过python
也可以直接使用python,而不必安装 counterparty-cli:
$ python3 >>> from counterpartylib import server >>> db = server.initialise(<options>) >>> server.start_all(db)
配置和操作
指向配置文件、日志文件和数据库的路径 在“verbose”中启动服务器时将文件打印到屏幕上 模式:$ counterparty-server--verbose start
默认情况下,配置文件名为server.conf,并且 client.conf,位于以下目录中:
- Linux:^{TT17}$
- 窗口:%APPDATA%\Counterparty\
客户端和服务器日志文件命名为 counterparty.client.[testnet.]log和 counterparty.server.[testnet.]log,位于以下位置 目录:
- Linux:^{TT21}$
- 窗口:%APPDATA%\Local\Counterparty\counterparty\Logs
交易对手api活动已登录server.[testnet.]api.log,并且 client.[testnet.]api.log。
交易对手数据库文件默认命名为 counterparty.[testnet.]db,位于以下目录中:
- Linux:^{TT26}$
- 窗口:%APPDATA%\Roaming\Counterparty\counterparty
配置文件格式
大多数用例不需要手动配置。“后端”和 “钱包”用于访问比特币服务器rpc。
counterparty-server配置文件如下:
[Default] backend-name = addrindex backend-user = <user> backend-password = <password> rpc-host = 0.0.0.0 rpc-user = <rpcuser> rpc-password = <rpcpassword>
force参数可以在服务器配置中使用 文件或在运行时传递以使服务器在这种情况下保持运行 失去与Internet的连接并落后于后端 数据库。这可能对非生产性交易对手服务器有用 即使在后端或 对方服务器没有互联网连接。
counterparty-client配置文件如下:
[Default] wallet-name = bitcoincore wallet-connect = localhost wallet-user = <user> wallet-password = <password> counterparty-rpc-connect = localhost counterparty-rpc-user = <rpcuser> counterparty-rpc-password = <password>
开发人员注释
版本控制
- 主要版本更改需要完全(自动)重新生成 数据库。
- 小版本更改需要(n自动)数据库重新分析。
- 所有协议更改在testnet上都是可追溯的。
连续积分
- travisci设置为使用1个命令运行所有测试并生成 覆盖率报告并让python-coveralls解析并上载它。它 与--skiptestbook=all一起运行,因此它不会进行重新分析 启动文件的。
- Circleci设置为尽可能分割测试以使其 更容易阅读错误报告。它还运行 integration_test.test_book测试,它重新分析bootstrap公司 文件夹。