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 iconsdk0
返回已发行的ICX硬币供应总量
委托使用ICX GetTotalSupplyRPC方法
参数
<>返回
发行的ICX硬币总数
错误案例
- 数据类型异常:数据类型无效。
- jsonrpcexception:json-rpc响应错误。
示例
$ pip install iconsdk1
获取交易
$ pip install iconsdk2
返回事务哈希请求的事务信息
委托给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 iconsdk3
获取交易结果
$ pip install iconsdk4
返回事务哈希请求的事务结果
委派到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 iconsdk5
呼叫
$ pip install iconsdk6
调用score的外部函数,该函数是只读的,而不创建事务。
委派到ICX\U调用RPC方法
参数
调用由CallBuilder创建的对象
字段:
- 发件人:邮件发件人地址(可选)
- 收件人:处理消息的分数地址
- 方法:外部函数的名称
- params:传递给函数的参数(可选)。参数的数据类型应为dict
返回
执行的分数函数返回的值
错误案例
- 数据类型异常:数据类型无效。
- jsonrpcexception:json-rpc响应错误。
示例
$ pip install iconsdk7
加载钱包并存储密钥库
要发送交易,首先,您应该制作一个钱包实例。
您可以使用私钥字节或从密钥库文件中创建钱包实例。
示例
$ pip install iconsdk8
keywallet的api方法
创建
$ pip install iconsdk9
生成不带特定私钥的钱包实例
参数
<>返回
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