iconsdkforpython是一个库的集合,它允许您使用http连接与本地或远程环链节点交互。

iconsdk的Python项目详细描述



标题:"用于python的icon sdk" 摘录:"


iconsdkforpython是一个库的集合,它允许您使用http连接与本地或远程icon节点交互。以下文档将指导您安装和运行iconsdkforpython,并提供api参考文档示例。它是指icon json-rpc apiv3

目录

快速启动

要求

用于python开发和执行的icon sdk需要以下环境。

    < Ly>蟒蛇
    • 版本:python 3.6+
    • IDE:推荐使用PyCharm。

参考

版本

1.1.0β

安装

首先,您需要将iconsdkforpython引入到您的项目中。可以使用PIP安装,如下所示:

$ pip install iconsdk

创建IConService实例并设置提供程序

接下来,您需要创建一个iconservice实例并设置一个提供者。

  • iconservice类包含一组api方法。它接受一个httpprovider,用于连接基于http和https的json-rpc服务器。

  • 提供者定义iconservice如何连接到icon节点。

  • httpprovider接受一个可以找到服务器的基本域url。对于本地开发,这类似于http://localhost:9000

下面是一个调用简单api方法以按块的高度获取块的示例:

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)

查询

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)

错误案例

有不同类型的错误案例,如下所示。将引发具有特定消息的异常。您可以从消息中获得有关异常的详细信息。

  • 密钥库异常

    • 在生成或加载密钥存储文件时引发。
    • 异常的错误代码为1。
  • 地址异常

    • 地址无效时会引发此问题。
    • 异常的错误代码是2。
  • 平衡异常

    • 当余额无效时,它会升高。
    • 异常的错误代码是3。
  • 数据类型异常

    • 当数据类型无效时引发。
    • 异常的错误代码是4。
  • jsonrpcexception

    • 当json-rpc响应出错时引发此错误。
    • 异常的错误代码是5。
  • zipexception

    • 在内存中写入ZIP时会引发此问题。
    • 异常的错误代码是6。

获取块

get_block(value)
  • 功能A

    • 按块高度返回块信息
    • 委派到icx\u getblockbyheightrpc方法
  • 功能B

    • 按块哈希返回块信息
    • 委托给icx\u getblockbyhashrpc方法
  • 功能C

    • 返回最后一个块信息
    • 委托给icx\u getlastblockrpc方法

参数

  • 功能A
    • 值:块高度的整数
  • 功能B
    • 值:前缀为"x"的块的哈希值
  • 功能C
    • value:'最新'

返回

块数据

返回块数据的示例

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")

获得平衡

get_balance(address:str)

返回给定EOA或分数的ICX余额

委托使用icx\u getbalancerpc方法

参数

地址:EOA或分数的地址

返回

ICX硬币数量

错误案例

  • 地址异常:地址无效。
  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

# Returns the ICX balance of the given EOA or SCOREbalance=icon_service.get_balance("hx000...1")

获取API分数

get_score_api(address:str)

返回score的外部api列表

委托给icx\u getScoreAPIrpc方法

参数

地址:要检查的分数地址

返回

分数及其信息的api方法列表

字段:

  • 类型:方法类型;函数、回退或事件日志
  • name:分数上的函数名
  • 输入:参数信息列表
    • 名称:参数名称
    • 类型:参数类型;int、str、bytes、bool、address
    • 索引:在eventlog的情况下,告诉参数是否被索引。
  • 输出:返回值
    • 类型:返回值类型;int、str、bytes、bool、address
  • 只读:外部(只读=真)
  • 应付账款:应付账款

错误案例

  • 地址异常:地址无效。
  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

# Returns SCORE's external API listscore_apis=icon_service.get_score_api("cx000...1")

获得供应总量

$ pip install iconsdk
0

返回已发行的ICX硬币供应总量

委托使用ICX GetTotalSupplyRPC方法

参数

<>

返回

发行的ICX硬币总数

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

$ pip install iconsdk
1

获取交易

$ pip install iconsdk
2

返回事务哈希请求的事务信息

委托给icx gettransactionbyhashrpc方法

参数

tx_hash:以"x"为前缀的事务哈希

返回

有关交易的信息

字段:

  • 版本:协议版本(3用于v3)
  • 发件人:创建事务的EOA地址
  • 收件人:接收硬币的EOA地址,或执行交易的分数地址
  • 价值:循环中要转移的ICX硬币的数量。如果省略,则假定为0。(1个ICX=10^18循环)
  • 步长限制:事务可使用的最大步长允许值
  • 时间戳:事务创建时间。时间戳以微秒为单位。
  • nid:网络id(1表示主网等)
  • nonce:用于防止事务哈希冲突的任意数字
  • txhash:事务哈希
  • TxIndex:块中的事务索引。挂起时为空。
  • block height:包含事务的块高度。挂起时为空
  • block hash:包含事务的块哈希。挂起时为空。
  • 签名:交易签名
  • 数据类型:数据类型;调用、部署、消息
  • 数据:包含各种类型的数据,具体取决于数据类型

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

$ pip install iconsdk
3

获取交易结果

$ pip install iconsdk
4

返回事务哈希请求的事务结果

委派到icx gettransactionresultrpc方法

参数

tx_hash:前缀为"x"的事务的哈希值

返回

事务结果对象

字段:

  • 状态:1表示成功,0表示失败
  • 收件人:交易的收件人地址
  • 失败:状态为0时存在此字段。包含代码(str)和消息(str)
  • txhash:事务哈希
  • txindex:块中的事务索引
  • block height:包括事务的块高度
  • block hash:包含事务的block hash
  • 累计已执行:此事务与同一块中所有先前事务所用步数之和
  • 斯蒂普sed:此事务使用的步骤数
  • 阶梯价格:此交易使用的阶梯价格
  • score address:如果事务创建了新的分数,则为分数地址。(可选)
  • eventlogs:此事务生成的事件日志数组
  • logsbloom:bloom过滤器可快速检索相关事件日志

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

$ pip install iconsdk
5

呼叫

$ pip install iconsdk
6

调用score的外部函数,该函数是只读的,而不创建事务。

委派到ICX\U调用RPC方法

参数

调用由CallBuilder创建的对象

字段:

  • 发件人:邮件发件人地址(可选)
  • 收件人:处理消息的分数地址
  • 方法:外部函数的名称
  • params:传递给函数的参数(可选)。参数的数据类型应为dict

返回

执行的分数函数返回的值

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

$ pip install iconsdk
7

加载钱包并存储密钥库

要发送交易,首先,您应该制作一个钱包实例。

您可以使用私钥字节或从密钥库文件中创建钱包实例。

示例

$ pip install iconsdk
8

keywallet的api方法

创建

$ pip install iconsdk
9

生成不带特定私钥的钱包实例

参数

<>

返回

wallet类的一个实例

示例

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
0

负载

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
1

从私钥字节加载钱包并生成钱包实例

参数

私钥:私钥的字节数

返回

wallet类的一个实例

错误案例

  • 数据类型异常:私钥无效。

示例

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
2

负载

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
3

使用您的密码从密钥库文件加载电子钱包,并生成电子钱包的实例

参数

  • file_path:密钥库文件的文件路径

  • password:密钥库文件的密码。密码必须包含字母、数字和特殊字符

返回

wallet类的一个实例

错误案例

  • keystreexception:密钥存储文件无效。

示例

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
4

存储

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
5

使用您的密码在文件路径上存储派生钱包类实例的数据

参数

  • file_path:密钥库文件的文件路径

  • password:密钥库文件的密码。密码必须包含字母、数字和特殊字符

返回

<>

错误案例

  • keystreexception:密钥存储文件无效。

示例

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
6

获取地址

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
7

返回EOA地址

您的帐户格式(由您的公钥生成)为hxfd7e4560ba363f5aabd32caac7317feee70ea57。

参数

<>

返回

EOA地址

示例

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
8

获取专用密钥

fromiconsdk.icon_serviceimportIconServicefromiconsdk.providers.http_providerimportHTTPProvider# Creates an IconService instance using the HTTP provider and set a provider.icon_service=IconService(HTTPProvider("http://localhost:9000",3))# Gets a block by a given block height.block=icon_service.get_block(1209)
9

返回钱包私钥的十六进制字符串

参数

<>

返回

私钥的十六进制字符串

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
0

签名

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
1

返回由数据生成的ecdsa-sha256签名的字节数

参数

数据:事务的字节数

返回

签名的字节数

错误案例

  • 数据类型异常:数据类型无效。

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
2

交易

生成事务

接下来,您应该使用不同类型的事务生成器创建事务的实例,如下所示:

签署交易

在发送事务之前,应使用signed transaction类对事务进行签名。SignedTransaction类用于通过返回已签名事务的实例来对事务进行签名,如下例所示。已签名事务的实例具有签名的属性。

发送事务

最后,您可以按如下方式发送带有已签名事务对象的事务:

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
3

事务生成器

事务对象的生成器

方法

  • 发件人:进行交易的钱包地址。默认地址是您的帐户地址。
  • 收件人:接收硬币的钱包地址或接收交易的分数地址。
  • 值:要发送的ICX的数量。(可选)
  • 步骤限制:处理事务的最大步骤值。
  • nid:网络ID。如果未设置该值,则默认nid为1。(主网等1个)
  • nonce:用于防止事务哈希冲突的任意数字。(可选)
  • 版本:协议版本(v3为3)。如果未设置该值,则默认版本为3。
  • 时间戳:事务创建时间。时间戳以微秒为单位。如果未设置值,则设置默认时间戳。
  • 生成:返回ICX事务对象

返回

事务对象

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
4

部署事务生成器

对象的生成器

方法

  • 发件人:进行交易的钱包地址。默认地址是您的帐户地址。
  • 收件人:接收硬币的钱包地址或接收交易的分数地址
  • 步骤限制:处理事务的最大步骤值
  • nid:网络ID。如果未设置该值,则默认nid为1。(主网等1个)
  • nonce:用于防止事务哈希冲突的任意数字
  • 内容类型:内容的mime类型
  • 内容:分数的二进制数据
  • params:在score方法上传递的参数;在_install()上,在_update()上。参数的数据类型应为dict。(可选)
  • 版本:协议版本(v3为3)。如果未设置该值,则默认版本为3。
  • 时间戳:事务创建时间。时间戳以微秒为单位。如果未设置值,则设置默认时间戳。
  • 构建:返回部署事务对象

返回

部署事务对象

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
5

CallTransactionBuilder

对象的生成器

方法

  • 发件人:进行交易的钱包地址。默认地址是您的帐户地址。
  • 收件人:接收硬币的钱包地址或接收交易的分数地址
  • 步骤限制:处理事务的最大步骤值
  • nid:网络ID。如果未设置该值,则默认nid为1。(主网等1个)
  • nonce:用于防止事务哈希冲突的任意数字
  • 方法:评分方法
  • params:在score方法上传递的参数。参数的数据类型应为dict。(可选)
  • 版本:协议版本(v3为3)。如果未设置该值,则默认版本为3。
  • 时间戳:事务创建时间。时间戳以微秒为单位。如果未设置值,则设置默认时间戳。
  • build:返回调用事务对象

返回

调用事务对象

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
6

MessageTransactionBuilder消息

消息事务的生成器CT

方法

  • 发件人:进行交易的钱包地址。默认地址是您的帐户地址。
  • 收件人:接收硬币的钱包地址或接收交易的分数地址
  • 步长限制:处理事务的最大步长值
  • nid:网络ID。如果未设置该值,则默认nid为1。(主网等1个)
  • nonce:用于防止事务哈希冲突的任意数字
  • 数据:按数据类型排列的数据。数据的数据类型应小写十六进制字符串前缀为"x"。
  • 版本:协议版本(v3为3)。如果未设置该值,则默认版本为3。
  • 时间戳:事务创建时间。时间戳以微秒为单位。如果未设置值,则设置默认时间戳。
  • 生成:返回消息事务对象

返回

消息事务对象

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
7

存款交易生成器

用于depositTransaction的生成器对象

方法

  • 发件人:进行交易的钱包地址。默认地址是您的帐户地址。
  • 收件人:接收交易的分数地址
  • 值:要存入的ICX的金额。它仅用于"添加"操作。(可选)
  • 操作:"添加"或"撤消"。
  • ID:以"x"为前缀的事务哈希。它只用于"撤消"操作。(可选)
  • 步长限制:处理事务的最大步长值。
  • nid:网络ID。如果未设置该值,则默认nid为1。(主网等1个)
  • nonce:用于防止事务哈希冲突的任意数字。
  • 版本:协议版本(v3为3)。如果未设置该值,则默认版本为3。
  • 时间戳:事务创建时间。时间戳以微秒为单位。如果未设置值,则设置默认时间戳。
  • 生成:返回存款交易对象。

返回

存款交易对象

示例

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
8

签署交易

fromiconsdk.builder.call_builderimportCallBuilder# Returns block information by block heightblock=icon_service.get_block(1000)# Returns block information by block hashblock=icon_service.get_block("0x000...000")# Returns the last block informationblock=icon_service.get_block("latest")# Returns the balance of the account of given addressbalance=icon_service.get_balance("hx000...1")# Returns a list of the SCORE APIsscore_apis=icon_service.get_score_api("cx000...1")# Returns the total supply of ICXtotal_supply=icon_service.get_total_supply()# Returns information about a transaction requested by transaction hashtx=icon_service.get_transaction("0x000...000")# Returns the result of a transaction by transaction hashtx_result=icon_service.get_transaction_result("0x000...000")# Generates a call instance using the CallBuildercall=CallBuilder().from_(wallet.get_address())\
                    .to("cx000...1")\
                    .method("balance_of")\
                    .params({"address":"hx000...1"})\
                    .build()# Executes a call method to call a read-only API method on the SCORE immediately without creating a transactionresult=icon_service.call(call)
9

返回具有签名的已签名事务对象

参数

  • 事务:还没有签名字段的事务对象
  • 钱包:钱包对象

返回

最终具有签名字段的已签名事务对象

错误案例

  • 数据类型异常:数据类型无效。

示例

get_block(value)
0

发送交易

get_block(value)
1

发送事务

委托给ICX发送事务RPC方法

发送事务后需要等待一段时间。因为在节点之间建立共识需要时间。我们建议至少0.3秒。

参数

已签名的交易:已签名的交易对象

返回

以"x"为前缀的事务哈希

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

get_block(value)
2

估计步骤

必须在事务中设置适当的步骤限制值,才能使提交的事务成功执行。

估计步骤api提供了一种方法来估计给定事务的步骤用法。使用此方法,您可以在发送事务之前获得估计的步骤使用量,然后根据估计值使用步骤限制进行签名事务

示例

get_block(value)
3

请注意,估计值可以小于或大于事务要使用的步骤的实际数量,因此建议在设置signedtransaction步骤限制时为估计值添加一些边距。

估计步骤

get_block(value)
4

返回允许tr所需步骤的估计步骤要完成的操作

委托到调试步骤rpc方法

参数

事务:由TransactionBuilder生成的事务对象

返回

估计步骤数

错误案例

  • 数据类型异常:数据类型无效。
  • jsonrpcexception:json-rpc响应错误。

示例

get_block(value)
5

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

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入