图标的通用命令行环境。

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->;地址获取有五个步骤:

  1. 生成私钥。
  2. 从私钥派生公钥。
  3. h1=sha3_256(公钥)=>;32字节
  4. 位地址=h1的最后20个字节
  5. 地址=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

控制台说明

<表>命令功能说明版本显示当前软件版本。帮助显示帮助菜单<表>

钱包操作

<表>命令功能说明钱包创建<;文件路径>;-p<;密码>;创建钱包文件。钱包显示<;文件路径>;-p<;密码>;-n<;网络>; 显示当前钱包信息。资产列表<;文件路径>;-p<;密码>;-n<;网络>;枚举钱包中的资产。(ICX,ICX代币)传输到<;金额>;<;文件路径>;-p<;密码>;-f<;费用>;-n<;网络>; 把价值和费用一起转移到特定的地址。<表>

警告

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

将值从一个地址转移到B地址并收取费用。

参数

  • 收件人:接收资产的钱包地址。
  • 文件路径:钱包密钥库文件的文件路径。
  • 密码:包括字母、数字和特殊字符的密码。如果用户不使用-p提供密码,则cli将显示提示,用户需要键入密码。
  • 金额:金额。(单位:循环)
  • 费用:转让费(单位:环)
      < > >强>您应该将金额和费用的单位都更改为循环,为金额和费用输入整数值而不是浮点数。
      • 单位:回路
        • ex)1个ICX=1018回路
  • 网络:"testnet"或"mainnet"或其他IP或域地址。

输出

成功案例

返回0:传输成功

错误案例

ICLI将返回以下错误代码和消息。

  • 返回122:文件路径错误。
  • return 123:密码错误。
  • 返回126:网络无效。
  • return 127:钱包余额不足。
  • return 128:费用无效。
  • return 130:钱包地址错误。
  • 返回133:该文件不是密钥存储文件。
  • 返回135:金额不是整数值。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
IntelliJ中的java默认Maven项目结构不一致   java我希望链接(在帖子和页面上)在一些访问者加载时被自动点击   java如何使用单独的方法隐藏JButton并在新类中调用   java KStream leftJoin KStream具有相同的密钥   java图像在垂直滚动窗格视图端口中消失   java从指定的起始点开始以n的增量填充数组   java JLabel和JTextField不在swing表单中应用   java springboot mongo如果没有映像,请使用现有映像   类似C++映射的java容器   java如何在没有Valgrind错误的情况下调用JNI_CreateJavaVM?   java如何在安卓中运行后台服务   java onPostExecute不运行