腾讯云区块链服务平台 TBaaS云 API 命令行工具_AI解决方案_同尘科技

腾讯云区块链服务平台TBaaS 2年前 (2023-06-07) 浏览 109

简介

腾讯云命令行工具(TCCLI)是管理腾讯云资源的统一工具。通过 TCCLI,您可以快速轻松的调用腾讯云 API 来管理您的腾讯云资源。本文档指导您安装、配置 TCCLI,并通过 TCCLI 调用 TBaaS 对外提供的云 API 接口管理您的资源。注意TCCLI 基于 Python 对云 API 的调用进行了封装,所以此方式同云 API 一样,可以对长安链·ChainMaker、Fabric 进行操作,一般用于单次调用,不适用于集成到业务应用系统中。

安装 TCCLI

1. 安装 Python 环境和 Pip 工具。注意:Python 版本必须为 2.7 及以上版本,更多内容请参考 Python 主页 和 Pip 主页。2. 执行以下命令,安装 TCCLI。说明:TCCLI 依赖于 TencentCloudApi Python SDK。如果 TencentCloudApi Python SDK 的版本号小于安装 TCCLI 版本,安装 TCCLI 时,将自动升级 TencentCloudApi Python SDK。

pip install tccli

3. 完成 TCCLI 安装后,执行以下命令,检测是否安装成功。

tccli version 

返回信息类似如下所示,则表示安装成功。
4. (可选)如果您使用的是 Linux 操作系统,执行以下命令,自动补全功能。

complete -C 'tccli_completer' tccli

说明Windows 操作系统暂不支持此操作。

配置 TCCLI

使用腾讯云命令行工具,需进行以下初始化配置,使其完成使用 云 API 的必要前提条件。请根据实际需求,选择配置模式进行配置:交互模式命令行模式执行 tccli co6nfigure 命令,进入交互模式快速配置。

$  tccli configureTencentCloud API secretId [*afcQ]:AKIDwLw******fPRle2g9nR2OTI787aBCDPTencentCloud API secretKey [*ArFd]:OxXj7khcV******SSYNABcdCc1LiArFdregion: ap-guangzhououtput[json]:

secretId:云 API 密钥 SecretId。secretIKey:云 API 密钥 SecretKey。region:云产品地域,请切换至对应产品页面获取可用的 region。output:可选参数,请求回包输出格式,支持 [json table text] 三种格式,默认为 json。 更多信息请执行 tccli configure help 查看。通过命令行模式您可以在自动化脚本中配置您的信息。

# set 子命令可以设置某一配置,也可同时配置多个。tccli configure set secretId AKIDwLw******fPRle2g9nR2OTI787aBCDPtccli configure set region ap-guangzhou  output json# get 子命令用于获取配置信息。tccli configure get secretKeysecretKey = OxXj7khcV******SSYNABcdCc1LiArFd# list 子命令打印所有配置信息。tccli configure listcredential:secretId =  AKIDwLw******fPRle2g9nR2OTI787aBCDPsecretKey =  OxXj7khcV******SSYNABcdCc1LiArFdconfigure:region =  ap-guangzhououtput =  json

更多信息请执行 tccli configure [list get set] help 查看。TCCLI 还支持多账户,方便您同时使用多种配置。以账户名 test 为例:通过交互模式,指定账户名 test。

$  tccli configure --profile testTencentCloud API secretId [*BCDP]:AKIDwLw******fPRle2g9nR2OTI787aBCDPTencentCloud API secretKey [*ArFd]:OxXj7khcV******SSYNABcdCc1LiArFdregion: ap-guangzhououtput[json]:

通过命令行模式,指定账户名 test。

# set/get/list 子命令指定账户名 test。tccli configure set region ap-guangzhou  output json  --profile testtccli configure get secretKey      --profile testtccli configure list      --profile test在调用接口时指定账户(以 cvm DescribeZones 接口为例)。tccli cvm DescribeZones --profile test

使用 TCCLI

通过 tccli tbaas Invoke 命令,新增交易(支持同步模式和异步模式)。通过 tccli tbaas Query 命令,查询交易。通过 tccli tbaas GetInvokeTx 命令,查询 Invoke 异步调用结果。

示例

准备工作

通过 TBaaS 控制台创建并初始化合约。说明以转账交易合约为例,初始 a、b 两个账号值为100。

新增交易(同步模式)

请求:

tccli tbaas Invoke --Module 'transaction' --Operation 'invoke' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'invoke' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["b", "a", "10"]'

返回:

{  "Events": "AliceOrgpeer1.aliceorg.ndemo:VALID",   "RequestId": "f305f44d-0697-48e2-b85d-e416c4******",   "Txid": "a73158cc7b628fbcefc329d3fd5de9db9dfaa312528ed09cf4ab121ff6******"}

参数说明:

操作 参数 说明
请求 Module 模块名,固定字段:transaction
Operation 操作名,固定字段:invoke
ClusterId 区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName 业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName 业务所属通道名称,可在通道详情或列表中获取
FuncName 该笔交易需要调用的智能合约中的函数名称
Peers 对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称极其所属组织名称
Args 被调用的函数参数列表,示例中'[“b”, “a”, “10”]’为b向a转账10
返回 Events 事件处理结果
RequestId 请求 ID
Txid 交易 ID

新增交易(异步模式)

请求:

tccli tbaas Invoke --Module 'transaction' --Operation 'invoke' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'invoke' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["b", "a", "10"]' --AsyncFlag '1'

返回:

{  "Events": "",   "RequestId": "be95c1e4-ffb9-49e4-a1bb-60770c******",   "Txid": "1c80cea264a447c9d4d0ba50adbe6e0ff1ac1db313f8d6c83370e410db******"}

参数说明:

操作 参数 说明
请求 Module 模块名,固定字段:transaction
Operation 操作名,固定字段:invoke
ClusterId 区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName 业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName 业务所属通道名称,可在通道详情或列表中获取
FuncName 该笔交易需要调用的智能合约中的函数名称
Peers 对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称极其所属组织名称
Args 被调用的函数参数列表,示例中'[“b”, “a”, “10”]’为b向a转账10
AsyncFlag 同步调用标识,可选参数,值为0或者不传表示使用同步方法调用,调用后会等待交易执行后再返回执行结果;值为1时表示使用异步方式调用,执行后会立即返回交易对应的Txid,后续需要通过GetInvokeTx查询该交易的执行结果。(对于逻辑较为简单的交易,可以使用同步模式;对于逻辑较为复杂的交易,建议使用异步模式,否则容易导致API因等待时间过长,返回等待超时)
返回 Events 事件处理结果,异步调用返回空字符串
RequestId 请求 ID
Txid 交易 ID

查询交易

请求:

tccli tbaas Query --Module 'transaction' --Operation 'query' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'query' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["a"]'

返回:

{  "Data": [      "110"  ],   "RequestId": "237b61b6-c75f-4927-9729-1e117a******"}

参数说明:

操作 参数 说明
请求 Module 模块名,固定字段:transaction
Operation 操作名,固定字段:query
ClusterId 区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName 业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName 业务所属通道名称,可在通道详情或列表中获取
FuncName 该笔交易需要调用的智能合约中的函数名称
Peers 对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称极其所属组织名称
Args 被调用的函数参数列表,示例中'[“a”]’为查询a账号的值
返回 Data 查询结果
RequestId 请求 ID

查询 Invoke 异步调用结果

请求:

tccli tbaas GetInvokeTx --Module 'transaction' --Operation 'query_txid' --ClusterId '1251568418ndemo' --ChannelName 'cfirst' --PeerName 'peer1.aliceorg.ndemo' --PeerGroup 'AliceOrg' --TxId '1c80cea264a447c9d4d0ba50adbe6e0ff1ac1db313f8d6c83370e410db******'

返回:

{  "TxValidationCode": 0,   "RequestId": "6a1d26ba-b322-4aea-8db7-effc82******",   "TxValidationMsg": "VALID"}

参数说明:

操作 参数 说明
请求 Module 模块名,固定字段:transaction
Operation 操作名,固定字段:query_txid
ClusterId 区块链网络 ID,可在区块链网络详情或列表中获取
ChannelName 业务所属通道名称,可在通道详情或列表中获取
PeerName 执行该查询交易的节点名称,可以在通道详情中获取该通道上的节点名称极其所属组织名称
PeerGroup 执行该查询交易的节点所属组织名称,可以在通道详情中获取该通道上的节点名称极其所属组织名称
TxId 事务 ID
返回 TxValidationCode 交易状态码
RequestId 请求 ID
TxValidationMsg 交易状态信息



对腾讯云区块链服务平台 TBaaS的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?