图标的通用命令行环境。
icxcli的Python项目详细描述
icon cli工具
icon支持用于第三方或用户服务开发的命令行界面(cli界面)。使用这个工具,您可以控制所有图标功能,并使用脚本将其自动化。
先决条件
运行icxcli需要python 3.6或更高版本。您可以在同一个系统上安装多个python版本(2.x和3.x),而不会出现问题。
例如,在MacOS(Sierra及以后版本)和Ubuntu16.04上,必需的软件包是:
- 汽车制造商
- 包配置
- virtualenv
- autoconf
- libtool
在ubuntu 16.04中,你可以安装python 3.6。
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install python3.6
$ sudo apt install python3.6-dev
$ sudo apt install virtualenv
$ virtualenv -p python3.6 .venv
您可以安装pip3 for python 3.6,如下所示:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3.6 get-pip.py
您可以为python3.6安装autoconf、libtool和automake。
$ sudo apt install autoconf libtool automake
版本
- 0.0.4
词汇表
- 钱包地址:唯一的字符串,用于标识要传递值的地址。它的前缀是"hx"。
- 私钥:与公钥配对的一小段代码,用于设置加密和解密特定地址文本的算法。
- 公钥:用于加密数据(消息)的长字母数字字符。
技术信息
私钥、公钥和钱包地址
从private->;public->;地址获取有五个步骤:
- 生成私钥。
- 从私钥派生公钥。
- h1=sha3_256(公钥)=>;32字节
- 位地址=h1的最后20个字节
- 地址=hx十六进制(位地址) 例如)HXAA688D74EB5F98B57783CA203535D2AA4F0838C
测试平台
我们在windows和macos上进行了测试。如果您在窗口中发现一些问题,请发送问题报告。
入门
安装
安装icxcli*的最简单方法是使用pip:
$ pip install icxcli
或者,如果您没有安装在virtualenv中:
$ sudo pip install icxcli
如果安装了aws cli并希望升级到最新版本,则可以运行:
$ pip install --upgrade icxcli
运行cli
在命令行中运行命令icli。有许多子命令,如wallet create、wallet show、asset list、transfer for icx服务。您可以通过添加命令帮助来获得帮助页。
$ icli --help
usage:
Normal commands:
version
help
Wallet Commands:
wallet create <file path> -p <password>
wallet show <file path> -p <password> | -n <network : mainnet | testnet | IP or domain>
asset list <file path> -p <password> | -n <network : mainnet | testnet | IP or domain>
transfer <to> <amount> <file path> -p <password> -f <fee=10000000000000000> | -n <network : mainnet | testnet | IP or domain>
WARNING:
Fee feature is the experimental feature; fee is fixed to 10000000000000000 loop for now so if you
try to make a transaction with the modified fee, which is not 10000000000000000 loop, then you would
not be able to make the transaction. you will be notified
when it is possible to make a transaction with the modified fee.
IF YOU MISS -n, icli WILL USE TESTNET.
positional arguments:
command wallet create, wallet show, asset list, transfer
optional arguments:
-h, --help show this help message and exit
-p PASSWORD password
-f FEE transaction fee
-n NETWORK mainnet or testnet or other IP or domain
控制台说明
<表>钱包操作
<表>警告
fee feature是一个实验特性;fee现在固定为100000000000000循环因此,如果尝试使用修改后的fee(不是100000000000000循环)进行交易,则将无法进行交易。当您可以使用修改后的费用进行交易时,我们会通知您。
创建电子钱包文件
$ icli wallet create <file path> -p <password>
使用给定的电子钱包名称、密码和文件路径创建电子钱包文件。
参数
- 文件路径:钱包密钥库文件的文件路径。
- 密码:包括字母、数字和特殊字符的密码。如果用户不使用-p提供密码,则cli将显示提示,用户需要键入密码。
输出
成功案例
return 0:成功生成钱包的密钥库文件。
错误案例
ICLI将返回以下错误代码和消息。
- 返回121:文件路径没有文件名。
- 返回122:文件路径错误。
- return 123:密码错误。
- 返回124:密钥库文件已经存在。
- return 136:用户没有写入文件的权限。
显示钱包信息
$ icli wallet show <file path> -p <password> -n <network>
显示钱包信息。
参数
- 文件路径:钱包密钥库文件的文件路径。
- 密码:包括字母、数字和特殊字符的密码。如果用户不使用-p提供密码,则cli将显示提示,用户需要键入密码。
- 网络:"testnet"或"mainnet"或其他IP或域地址。
输出
显示钱包的所有信息。
- 钱包地址
- 当前余额
- 密钥库文件内容
成功案例
return 0:打印钱包信息,包括资产列表。
错误案例
- 返回122:文件路径错误。
- return 123:密码错误。
- 返回126:网络无效。
- 返回133:该文件不是密钥存储文件。
列出当前钱包中的所有资产
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install python3.6
$ sudo apt install python3.6-dev
$ sudo apt install virtualenv
$ virtualenv -p python3.6 .venv
0
列举钱包所有资产的列表。
参数
- 文件路径:钱包密钥库文件的文件路径。
- 密码:包括字母、数字和特殊字符的密码。如果用户不使用-p提供密码,则cli将显示提示,用户需要键入密码。
- 网络:"testnet"或"mainnet"或其他IP或域地址。
输出
- 当前钱包中所有资产的列表。
成功案例
- 返回0:显示成功。
错误案例
- 返回122:文件路径错误。
- return 123:密码错误。
- 返回126:网络无效。
- 返回133:该文件不是密钥存储文件。
将该值连同费用一起转移到特定地址。
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install python3.6
$ sudo apt install python3.6-dev
$ sudo apt install virtualenv
$ virtualenv -p python3.6 .venv
1
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install python3.6
$ sudo apt install python3.6-dev
$ sudo apt install virtualenv
$ virtualenv -p python3.6 .venv
将值从一个地址转移到B地址并收取费用。
参数
- 收件人:接收资产的钱包地址。
- 文件路径:钱包密钥库文件的文件路径。
- 密码:包括字母、数字和特殊字符的密码。如果用户不使用-p提供密码,则cli将显示提示,用户需要键入密码。
- 金额:金额。(单位:循环)
- 费用:转让费(单位:环)
- < > >强>您应该将金额和费用的单位都更改为循环,为金额和费用输入整数值而不是浮点数。
- 单位:回路
- ex)1个ICX=1018回路
- 单位:回路
输出
成功案例
返回0:传输成功
错误案例
ICLI将返回以下错误代码和消息。
- 返回122:文件路径错误。
- return 123:密码错误。
- 返回126:网络无效。
- return 127:钱包余额不足。
- return 128:费用无效。
- return 130:钱包地址错误。
- 返回133:该文件不是密钥存储文件。
- 返回135:金额不是整数值。