FISCO BCOS Python SDK控制台使用

控制台

常用命令:

deploy
部署合约:

./console.py deploy [contract_name] [save]

参数包括:

contract_name: 合约名,需要先放到contracts目录
save:若设置了save参数,表明会将合约地址写入历史记录文件
例子:

./console.py deploy HelloWorld save

FISCO BCOS Python SDK控制台使用_第1张图片

call
调用合约接口,并解析返回结果:

./console.py call [contract_name] [contract_address] [function] [args]

参数包括:

contract_name:合约名
contract_address:调用的合约地址
function:调用的合约接口
args:调用参数
例子:

# 合约地址:0x83592a3cf1af302612756b8687c8dc7935c0ad1d 
# 调用接口:get
./console.py  call HelloWorld 0x83592a3cf1af302612756b8687c8dc7935c0ad1d get

在这里插入图片描述

sendtx
发送交易调用指定合约的接口,交易结果会写入区块和状态:

./console.py sendtx [contract_name] [contract_address] [function] [args]

参数包括:

contract_name:合约名
contract_address:合约地址
function:函数接口
args:参数列表
例子:

./console.py sendtx HelloWorld 0x83592a3cf1af302612756b8687c8dc7935c0ad1d set "Hello, FISCO"

FISCO BCOS Python SDK控制台使用_第2张图片

newaccount
创建新账户,并将结果以加密的形式把保存与bin/accounts/${accoutname}.keystore文件中,如同目录下已经有同名帐户文件,旧文件会复制一个备份:

./console.py newaccount [account_name] [account_password]

参数包括:

account_name:账户名
account_password:加密keystore文件的口令

注解

采用创建帐号的命令创建帐号后,若需作为默认帐号使用,注意修改client_config.py的 ccount_keyfile 和
account_password 配置项

账户名不可超过240个字符

若 account_password 中包含特殊字符,请在 account_password 周围加上单引号,否则无法解析

例子:

./console.py newaccount test_account "123456"

FISCO BCOS Python SDK控制台使用_第3张图片

showaccount
根据账户名和账户keystore文件口令,输出账户公私钥信息:

./console.py showaccount [account_name] [account_password]

参数包括:

name:账户名称
password: 账户keystore文件口令
例子:

./console.py showaccount test_account "123456"

FISCO BCOS Python SDK控制台使用_第4张图片

usage
输出控制台使用方法:

 ./console.py usage

FISCO BCOS Python SDK控制台使用_第5张图片
FISCO BCOS Python SDK控制台使用_第6张图片

list
输出Python SDK支持的所有接口:
./console.py list

CNS
Python SDK控制台提供了CNS命令,主要包括注册CNS、查询CNS信息,CNS设计使用方法请参考这里。

registerCNS
将(合约地址, 合约版本)到合约名的映射注册到CNS系统表中:

./console.py registerCNS [contract_name] [contract_address] [contract_version]

参数包括:
contract_name: 合约名
contract_address: 合约地址
contract_version: 合约版本

例子:

./console.py registerCNS HelloWorld 0x83592a3cf1af302612756b8687c8dc7935c0ad1d v_1.0

FISCO BCOS Python SDK控制台使用_第7张图片

queryCNSByName
根据合约名查询CNS信息:

./console.py queryCNSByName [contract_name]

参数包括:

contract_name:合约名

例子:

./console.py queryCNSByName HelloWorld

FISCO BCOS Python SDK控制台使用_第8张图片

queryCNSByNameAndVersion
根据合约名和合约版本查询CNS信息:

./console.py queryCNSByNameAndVersion [contract_name] [contract_version]

参数包括:

contract_name: 合约名
contract_version: 合约版本

例子:

./console.py queryCNSByNameAndVersion HelloWorld v_1.0

FISCO BCOS Python SDK控制台使用_第9张图片

节点管理

Python SDK提供了节点管理命令,包括添加共识节点、添加观察者节点、将节点从群组中删除,节点管理的详细资料可参考这里。

removeNode
将指定该节点从群组中删除:

./console.py removeNode [nodeId]

参数包括:

nodeId:被删除节点的nodeID
例子:

# 设节点位于~/fisco/nodes目录,查询node1的nodeID
cat ~/fisco/nodes/127.0.0.1/node1/conf/node.nodeid 
# 将节点1从群组中删除node1
./console.py removeNode b44c05096283095aa4e36809eb27546163496194773e38c3776e10e611d4dd75c2888b0f1d0ec4c05e0a2f85e0207cb85b8d2c8893b0abdda888f0e6f969110c

在这里插入图片描述

addSealer
将指定节点加入共识节点列表:

./console.py addSealer [nodeId]

参数包括:

nodeId: 加入的共识节点nodeID,获取节点nodeID可参考这里
例子:

#设节点位于~/fisco/nodes目录,查询node1的nodeID
$ cat ~/fisco/nodes/127.0.0.1/node1/conf/node.nodeid
#将节点node1加入为共识节点
$./console.py addSealer b44c05096283095aa4e36809eb27546163496194773e38c3776e10e611d4dd75c2888b0f1d0ec4c05e0a2f85e0207cb85b8d2c8893b0abdda888f0e6f969110c

在这里插入图片描述

系统配置

Python SDK提供了系统配置修改命令,FISCO BCOS目前支持的系统配置参考这里。

./console.py setSystemConfigByKey [key(tx_count_limit/tx_gas_limit)] [value]

参数包括:

key:配置关键字,目前主要包括tx_count_limit和tx_gas_limit
value: 配置关键字的值

./console.py setSystemConfigByKey tx_count_limit 500

在这里插入图片描述

权限管理

Python SDK提供了权限管理功能,包括授权、撤销权限和列出权限列表等,权限控制的详细内容可参考这里。

grantPermissionManager
将控制权限的功能授权给指定账户:

./console.py grantPermissionManager [account_adddress]

参数包括:

account_adddress:被授予权限的账户地址,账户可通过newaccount命令生成

#获取默认账户地址
./console.py showaccount pyaccount "123456"
#为账户0x95198B93705e394a916579e048c8A32DdFB900f7添加权限管理权限
$ ./console.py grantPermissionManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第10张图片
listPermissionManager
列出有权限管理功能的账户信息:

#列出所有权限管理账户信息
 ./console.py listPermissionManager

FISCO BCOS Python SDK控制台使用_第11张图片

grantUserTableManager
将给定用户表权限授予指定用户:

./console.py grantUserTableManager [tableName] [account_adddress]

注解

给用户授权用户表权限前,请确保用户表存在,可用 createTable 命令创建用户表

参数包括:

tableName: 用户表名
account_adddress:被授权用户账户地址

#创建用户表t_test
./console.py createTable t_test "key" "value1, value2, value3"
./console.py grantUserTableManager t_test 0x95198B93705e394a916579e048c8A32DdFB900f7

在这里插入图片描述

listUserTableManager
列出对指定用户表有管理权限的账户信息:

./console.py listUserTableManager [tableName]

参数包括:

tableName: 用户表

#查看用户表t_test的管理信息
./console.py listUserTableManager t_test

grantNodeManager
将节点管理权限授予指定账户:

./console.py grantNodeManager [account_adddress]

参数包括:

account_adddress:被授权用户账户地址

#为账户0x95198B93705e394a916579e048c8A32DdFB900f7添加节点管理功能
./console.py grantNodeManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第12张图片

listNodeManager
列出有节点管理功能的账户信息:

./console.py listNodeManager

FISCO BCOS Python SDK控制台使用_第13张图片

grantCNSManager
将CNS管理权限授予指定账户:

./console.py grantCNSManager [account_adddress]

参数包括:

account_adddress:被授权用户账户地址

#为账户0x95198B93705e394a916579e048c8A32DdFB900f7添加CNS管理权限
./console.py grantCNSManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第14张图片

listCNSManager
列出有CNS管理权限的账户信息

 ./console.py listCNSManager

FISCO BCOS Python SDK控制台使用_第15张图片

grantSysConfigManager
将系统配置修改权限授予指定账户:

./console.py grantSysConfigManager [account_adddress]

参数包括:

account_adddress:被授权用户账户地址

#为账户0x95198B93705e394a916579e048c8A32DdFB900f7添加系统配置权限
./console.py grantSysConfigManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第16张图片

listSysConfigManager
列出有系统配置修改权限的账户信息:

./console.py listSysConfigManager

FISCO BCOS Python SDK控制台使用_第17张图片

grantDeployAndCreateManager
将部署和创建表的权限授予指定账户:

./console.py grantDeployAndCreateManager [account_adddress]

参数包括:

account_adddress:被授权用户账户地址

#为账户0x95198B93705e394a916579e048c8A32DdFB900f7添加创建表和部署合约权限
./console.py grantDeployAndCreateManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第18张图片

listDeployAndCreateManager
列出有创建合约和用户表的账户信息:

./console.py listDeployAndCreateManager

FISCO BCOS Python SDK控制台使用_第19张图片

revokeUserTableManager
撤销指定用户对指定用户表的写入权限:

./console.py revokeUserTableManager [tableName] [account_adddress]

参数包括:

tableName:禁止指定用户写入的表名
account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7对用户表t_test的控制权限
./console.py revokeUserTableManager t_test 0x95198B93705e394a916579e048c8A32DdFB900f7

revokeDeployAndCreateManager
撤销指定账户创建表、部署合约的权限:

./console.py revokeDeployAndCreateManager [account_adddress]

参数包括:

account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7部署和创建表权限
$ ./console.py revokeDeployAndCreateManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第20张图片

revokeNodeManager
撤销指定账户的节点管理权限:

./console.py revokeNodeManager [account_adddress]

参数包括:

account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7节点管理权限
./console.py revokeNodeManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第21张图片

revokeCNSManager
撤销指定账户CNS管理权限:

./console.py revokeCNSManager [account_adddress]

参数包括:

account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7 CNS管理权限
./console.py revokeCNSManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第22张图片

revokeSysConfigManager
撤销指定账户修改系统配置权限:

./console.py revokeSysConfigManager [account_adddress]

参数包括:

account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7系统表管理权限
./console.py revokeSysConfigManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第23张图片

revokePermissionManager
撤销指定账户管理权限的权限:

./console.py revokePermissionManager [account_adddress]

参数包括:

account_adddress:被撤销权限的账户地址

#撤销账户0x95198B93705e394a916579e048c8A32DdFB900f7权限管理权限
./console.py revokePermissionManager 0x95198B93705e394a916579e048c8A32DdFB900f7

FISCO BCOS Python SDK控制台使用_第24张图片

RPC

可以通过Python SDK查询节点信息,目前Python SDK支持的查询命令如下:

getNodeVersion
获取节点版本信息:

./console.py getNodeVersion

getBlockNumber
获取节点最新块高:

./console.py getBlockNumber

FISCO BCOS Python SDK控制台使用_第25张图片

getPbftView
获取节点共识视图:

./console.py getPbftView

FISCO BCOS Python SDK控制台使用_第26张图片

getSealerList
获取当前共识节点列表:

./console.py getSealerList

在这里插入图片描述

getObserverList
获取观察者节点列表:

./console.py getObserverList

getConsensusStatus
获取节点共识状态信息:

 ./console.py getConsensusStatus

在这里插入图片描述

getSyncStatus
获取节点同步状态信息:

 ./console.py getSyncStatus

FISCO BCOS Python SDK控制台使用_第27张图片

getPeers
获取节点连接列表:

 ./console.py getPeers

FISCO BCOS Python SDK控制台使用_第28张图片

getGroupPeers
获取群组内节点连接信息:

 ./console.py getGroupPeers

在这里插入图片描述

getNodeIDList
获取区块链所有组网节点列表:

 ./console.py getNodeIDList

在这里插入图片描述

getGroupList
获取群组列表:

 ./console.py getGroupList

FISCO BCOS Python SDK控制台使用_第29张图片

getPendingTransactions
获取交易池内还未上链的交易信息:

 ./console.py getPendingTransactions

FISCO BCOS Python SDK控制台使用_第30张图片

getTotalTransactionCount
获取已经上链的交易数目:

./console.py getTotalTransactionCount

FISCO BCOS Python SDK控制台使用_第31张图片

getBlockByNumber
根据块高查询区块:

./console.py getBlockByNumber [block_number] [True/False]

参数包括:

block_number:区块高度
True/False: 可选,True表明返回的区块信息内包含具体的交易信息;False表明返回的区块内仅包含交易哈希

 ./console.py getBlockByNumber 0

FISCO BCOS Python SDK控制台使用_第32张图片

getBlockHashByNumber
根据块高查询区块哈希:

./console.py getBlockHashByNumber 0

FISCO BCOS Python SDK控制台使用_第33张图片

getBlockByHash
根据区块哈希获取区块信息:

./console.py getBlockByHash [block_hash] [True/False]

参数包括:

block_hash:区块哈希
True/False: 可选,True表明返回的区块内包含交易具体信息;False表明返回的区块仅包含交易哈希

./console.py getBlockByHash 0xff1404962c6c063a98cc9e6a20b408e6a612052dc4267836bb1dc378acc6ce04

FISCO BCOS Python SDK控制台使用_第34张图片

getCode
获取指定合约的二进制编码:

 ./console.py getCode 0x2d1c577e41809453c50e7e5c3f57d06f3cdd90ce

在这里插入图片描述

getTransactionByHash
根据交易哈希获取交易信息:

./console.py getTransactionByHash [hash] [contract_name]

参数包括:

hash: 交易哈希
contract_name:可选,该交易相关的合约名,若输入该参数,会解析返回交易的具体内容

./console.py getTransactionByHash 0xb291e9ca38b53c897340256b851764fa68a86f2a53cb14b2ecdcc332e850bb91

在这里插入图片描述

getTransactionReceipt
根据交易哈希获取交易回执信息:

./console.py getTransactionReceipt [hash] [contract_name]

参数包括:

hash:交易哈希
contract_name:可选,该交易相关的合约名,若输入该参数,会解析交易和回执的具体内容

./console.py getTransactionReceipt 0xb291e9ca38b53c897340256b851764fa68a86f2a53cb14b2ecdcc332e850bb91

在这里插入图片描述

getTransactionByBlockHashAndIndex
根据区块哈希和交易索引查询交易信息:

./console.py getTransactionByBlockHashAndIndex [blockHash] [transactionIndex] [contract_name]

参数包括:

blockHash: 交易所在的区块哈希
transactionIndex:交易索引
contract_name:可选,该交易相关的合约名,若输入该参数,会解析返回交易的具体内容

./console.py getTransactionByBlockHashAndIndex 0x3912605dde5f7358fee40a85a8b97ba6493848eae7766a8c317beecafb2e279d 0

getTransactionByBlockNumberAndIndex
根据块高和交易索引查询交易信息:

./console.py getTransactionByBlockNumberAndIndex [blockNumber] [transactionIndex] [contract_name]

参数包括:

blockNumber:交易所在的区块块高
transactionIndex:交易索引
contract_name:可选,该交易相关的合约名,若输入该参数,会解析返回交易的具体内容

 ./console.py getTransactionByBlockNumberAndIndex 1 0

FISCO BCOS Python SDK控制台使用_第35张图片

getSystemConfigByKey
获取系统配置信息:

#获取区块可打包最大交易数目
 ./console.py getSystemConfigByKey tx_count_limit

FISCO BCOS Python SDK控制台使用_第36张图片

你可能感兴趣的:(区块链,#,fisco,bcos,python,区块链)