https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/manual/console_of_java_sdk.html
./build_chain.sh -l 127.0.0.1:4 agency1 1 6660,6670,6680
./build_chain.sh -f rawcfg.ini -c raft -T
apt install default-jdk 需要安装jdk
java —version
配置控制台
- 区块链节点和证书的配置:
- 将节点sdk目录下的
ca.crt、sdk.crt和sdk.key文件拷贝到conf目录下。 - 将
conf目录下的config-example.toml文件重命名为config.toml文件。配置config.toml文件,其中添加注释的内容根据区块链节点配置做相应修改。参考搭链 config.ini 配置。 - FISCO-BCOS 2.5及之后的版本,添加了SDK只能连本机构节点的限制,操作时需确认拷贝证书的路径,否则建联报错。
- 将节点sdk目录下的
下载控制台
~/FISCO-BCOS/tools$ bash /home/bcos/FISCO-BCOS/tools/nodes/10.186.11.190/download_console.sh -f
调试编译合约可以用
bcos@cloud-kvm:~/FISCO-BCOS/tools/console$ ./sol2java.sh . 编译当前目录下的合约
bcos@cloud-kvm:~/FISCO-BCOS/tools/console$ ./console.sh deploy HelloWorld
bcos@cloud-kvm:~/FISCO-BCOS/tools/console$ ./console.sh getBlockNumber
调用合约
./console.sh call HelloWorld 0x63ecd6c97ffd09d81fe9aae17a27b2ea0633fe2d set “Hello, FISCO BCOS”
调用0x5002合约存钱
./console.sh call ParallelOk.sol 0x5002 set 0xee6f953a309b3f42c79a035abedec1672bc92195 0x110000
调用转账
./console.sh call ParallelOk.sol 0x5002 transfer 0xee6f953a309b3f42c79a035abedec1672bc92195 0x9af5f74e29e826f4b57c235b3a816445c60d88ac 0x2
go sdk 开发
https://github.com/FISCO-BCOS/go-sdk
git clone https://github.com/FISCO-BCOS/go-sdk.git
cd go-sdk
go build cmd/console.go
config.toml默认使用channel模式,请拷贝对应的SDK证书。
go build ./cmd/abigen
bash tools/download_solc.sh -v 0.4.25
编译
./solc-0.4.25 —bin —abi -o ./store ./store/Store.sol
./abigen —bin ./store/Store.bin —abi ./store/Store.abi —pkg store —type Store —out ./store/Store.go
./solc-0.4.25 —bin —abi -o ./token ./token/ParallelOk.sol
./abigen —bin ./token/ParallelOk.bin —abi ./token/ParallelOk.abi —pkg token —type ParallelOk —out ./token/ParallelOk.go
配置文件说明(config.toml)
[Network]
#type rpc or channel
Type=”channel”
CAFile=”ca.crt”
Cert=”sdk.crt”
Key=”sdk.key”
[[Network.Connection]]
NodeURL=”127.0.0.1:20200”
GroupID=1
# [[Network.Connection]]
# NodeURL=”127.0.0.1:20200”
# GroupID=2
[Account]
# only support PEM format for now
KeyFile=”.ci/0x83309d045a19c44dc3722d15a6abd472f95866ac.pem”
[Chain]
ChainID=1
SMCrypto=false
Network
- Type:支持channel和rpc两种模式,其中
channel使用ssl链接,需要提供证书。rpc使用http访问节点。 - CAFile:链根证书
- Cert:SDK建立SSL链接时使用的证书
- Key:SDK建立SSL链接时使用的证书对应的私钥
Network.Connection数组,配置节点信息,可配置多个。
Account
KeyFile:节点签发交易时所使用的私钥,PEM格式,支持国密和非国密。
请使用get_account.sh和get_gm_account.sh脚本生成。使用方式参考这里。
如果想使用Go-SDK代码生成,请参考这里。
Chain
- ChainID:链ID,与节点config.ini中
chain.id保持一致。 - SMCrypto:链使用的签名算法,
ture表示使用国密SM2,false表示使用普通ECDSA。
