赞
踩
使用开发部署工具构建单群组网络节点,命令如下:
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
输入如下命令,启动所有节点
bash nodes/127.0.0.1/start_all.sh
输入如下命令,查看节点进程,正常情况下会显示 4 个节点进程
ps -ef | grep -v grep | grep fisco-bcos
输入如下命令,可查看节点 node0 的共识情况,正常情况下,终端会不断输出 “[SEALER]++++++++++++++++” 信息,表示节点共识正常。共识信息会不断打印,可 按 “ctrl + c” 退出。
tail -f nodes/127.0.0.1/node0/log/log* | grep +++
在终端输入如下命令,将节点 sdk 证书拷贝到控制台 conf 目录下输入如下命令,将控制台 conf 目录下的 config-example.toml 文件重命名为 config.toml 文件
cp nodes/127.0.0.1/sdk/* console/conf/
cp console/conf/config-example.toml console/conf/config.toml
输入如下命令,获取账户生成脚本
wget http://res.zhonghui.vip/blockchain/fiscobcos/01/resource/get_account.sh
输入如下命令,修改脚本权限
chmod u+x get_account.sh
在终端输入如下命令,生成 PEM 格式的私钥
bash get_account.sh
生成的私钥和公钥文件在 accounts 目录下,私钥文件后缀为 pem。输入以下命 令,可查看私钥文件内容
accounts 目录下的文件名(账户地址)由脚本生成,每次生成均不同,根据自己的实 际情况输入参数
cat accounts/0xfd7bcc670ca2e3027856bf86bcfa2b9ec2c2bbb6.pem
输入如下命令,可以从私钥文件计算账户地址
bash get_account.sh -k
accounts/0xfd7bcc670ca2e3027856bf86bcfa2b9ec2c2bbb6.pem
在终端输入如下命令,生成 PKCS12 格式的私钥,需要输入密码,丢失密码意味 着丢失账户
bash get_account.sh -p
生成的私钥和公钥文件在 accounts 目录下,私钥文件后缀为 p12。
输入以下命 令,可查看私钥文件内容 accounts 目录下的文件名(账户地址)由脚本生成,每次生成均不同,根据自己的实 际情况输入参数
cat accounts/0x1f0053fa48e6ca0e42c88026a7d6ef06d849d683.p12
由此可见,PKCS12 使用用户提供的口令加密存储私钥。
输入如下命令,可以从私钥文件计算账户地址
bash get_account.sh -P
accounts/0x1f0053fa48e6ca0e42c88026a7d6ef06d849d683.p12
输入如下命令,启动控制台,成功启动控制台后,会出现下图标志。
bash start.sh 1 -pem account/ecdsa//0x1f0053fa48e6ca0e42c88026a7d6ef06d849d683.pem
在终端输入如下命令,生成 PEM 格式的私钥
newAccount
生成的私钥和公钥文件在 console/account/ecdsa 目录下,私钥文件后缀为 pem。在新打开的终端输入以下命令,可查看私钥文件内容
cat console/account/ecdsa/0x53efe7194dc78b8929cd33868510350c9bf2e5bb.pem
在终端输入如下命令,生成 PKCS12 格式的私钥,第二个参数为密码,用户可自 行设置
newAccount p12 123456
生成的私钥和公钥文件在 console/account/ecdsa 目录下,私钥文件后缀为 p12。在新打开的终端输入以下命令,可查看私钥文件内容
cat console/account/ecdsa/0xd9cc4927b3ec8f358f4ae3eca450c4e86058ab59.p12
在控制台输入如下命令,可以查看账户列表
listAccount
说明:
其中带有 <= 后缀标记的为当前用于发送交易的私钥账户
控制台启动需要加载私钥,在之前控制台介绍的教程中,为了简化操作,使用了 工具提供的默认账户,即默认启动(命令为 bash console/start.sh),默认启动 会随机生成一个账户。
在控制台输入如下命令,切换到 0x53efe719… 账户,该账户为 PEM 账户
loadAccount 0x53efe7194dc78b8929cd33868510350c9bf2e5bb
在控制台输入如下命令,切换到 0x00ff4cde… 账户,该账户为 PKCS12 账户
loadAccount 0xd9cc4927b3ec8f358f4ae3eca450c4e86058ab59 p12
输入如下命令,查看当前使用的账户
getCurrentAccount
当然,也可以在启动控制台时指定账户,先使用 quit 命令退出控制台,再输入如 下命令指定 PEM 私钥启动控制台
bash console/start.sh 1 /root/Desktop/fisco/console/account/ecdsa/0x53efe7194dc78b8929cd33868510350c9bf2e5bb.pem
启动成功后,输入如下命令查看当前使用的账户
getCurrentAccount
也可以指定 PKCS12 格式的私钥启动控制台,先使用 quit 命令退出控制台,再输 入如下命令启动控制台
bash console/start.sh 1 -p12 /root/Desktop/fisco/console/account/ecdsa/0xd9cc4927b3ec8f358f4ae3e
ca450c4e86058ab59.p12
启动成功后,输入如下命令查看当前使用的账户
getCurrentAccount
在终端输入如下命令,使用 openssl 生成私钥文件 ecprivkey.pem
openssl ecparam -name secp256k1 -genkey -noout -out ecprivkey.pem
私钥文件在当前目录下,输入如下命令可查看私钥文件内容
cat ecprivkey.pem
输入如下命令,可根据私钥映射出公钥,得到类似下面的字符串输出,即为公钥
openssl ec -in ecprivkey.pem -text -noout 2>/dev/null|sed -n
'7,11p' | tr -d ": \n" | awk '{print substr($0,3);}
在根据公钥获取私钥之前,需要获取 keccak-256sum 工具,输入如下命令获取工 具
wget http://res.zhonghui.vip/blockchain/fiscobcos/01/resource/keccak-256sum
输入如下命令,修改 keccak-256sum 工具权限
chmod u+x keccak-256sum
输入如下命令,根据上述得出的公钥计算账户地址
openssl ec -in ecprivkey.pem -text -noout 2>/dev/null| sed -n
'7,11p' | tr -d ": \n" | awk '{print substr($0,3);}' | ./keccak256sum -x -l | tr -d ' -' | tail -c 41
接下来我们使用之前下载的 get_account.sh 脚本根据私钥计算地址进行验证,在 终端输入如下命令
bash get_account.sh -k ecprivkey.pem
内容同上不再重复。
Java SDK Demo 中的测试程序能够在部署有 JDK 1.8 ~ JDK 14 的环境中运行,虚 拟机已预装 JDK11,输入如下命令可查看 java 版本
输入如下命令,获取 Java SDK Demo 压缩包
wget http://res.zhonghui.vip/blockchain/fiscobcos/01/resource/java-sdk-demo.tar.gz
输入如下命令,解压 Java SDK Demo,解压结果如下图(部分截图)
tar -zxvf java-sdk-demo.tar.gz
输入如下命令,编译源码
cd java-sdk-demo && ./gradlew build
输入如下名命令,进入 dist 目录
cd dist
输入如下名命令,拷贝节点 sdk 证书文件到 conf 目录
cp ../../nodes/127.0.0.1/sdk/* conf/
输入如下名命令,拷贝 demo 配置文件
cp conf/config-example.toml conf/config.toml
Java SDK Demo提供了一系列压测程序,串行压测相关文件路径如下:
转账合约:java-sdk-demo/src/main/java/org/fisco/bcos/sdk/demo/contract/sol/Ok.sol
压测程序:java-sdkdemo/src/main/java/org/fisco/bcos/sdk/demo/perf/PerformanceOk.java
在终端输入如下压测命令,压测串行转账 TPS
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.perf.PerformanceOk 1000 1000 1
参数说明:
1000:交易的总量,即为1000笔交易,用户可自定义
1000:QPS,即该压测程序的每秒交易发送速率,用户可自定义
1:压测群组号
并行压测相关文件路径如下:
转账合约:java-sdk-demo/src/main/java/org/fisco/bcos/sdk/demo/contract/sol/ParallelOk.sol
压测程序:java-sdkdemo/src/main/java/org/fisco/bcos/sdk/demo/perf/ParallelOkPerf.java
在终端输入如下压测命令,批量生成1000个转账用户并初始化用户金额,执行 后,生成用户列表文件 user1000.txt,压测并行转账时会用到
java -cp 'conf/:lib/*:apps/*' org.fisco.bcos.sdk.demo.perf.ParallelOkPerf parallelok 1 add 1000 1000 user1000.txt
参数说明:
java -cp 'conf/:lib/*:apps/*'
: 这部分指定了 Java 程序的类路径,确保程序能够找到需要的配置文件和库文件。org.fisco.bcos.sdk.demo.perf.ParallelOkPerf
: 这是你要运行的 Java 类的完整路径和名称,即压测工具的入口类。parallelok
: 这是指定要压测的合约名称。1
: 这是指定的群组号,确保压测在正确的区块链网络群组上执行。add
: 这是指定压测的操作命令,可能是初始化或者其他操作,根据具体的压测工具的功能来决定。1000
: 这是指定压测的交易数量,即要执行多少次转账操作。1000
: 这是指定的每秒交易数(QPS),表示在压测时模拟的交易速率。user1000.txt
: 这是生成的用户列表文件的名称,其中可能包含了生成的用户的详细信息。在终端输入如下压测命令,压测用户之间两两转账
java -cp "conf/:lib/*:apps/*" org.fisco.bcos.sdk.demo.perf.ParallelOkPerf parallelok 1 transfer 10000 1000 user1000.txt true
参数说明:
parallelok:压测合约名
1:压测群组号
transfer:压测操作命令
10000:压测的交易数量
1000:压测的QPS
user1000.txt:使用的用户列表文件
true:使能并行计算处理
压测
转账合约:java-sdkdemo/src/main/java/org/fisco/bcos/sdk/demo/contract/sol/TableTest.sol
压测程序:java-sdkdemo/src/main/java/org/fisco/bcos/sdk/demo/perf/PerformanceTable.java
在终端输入如下压测命令,压测向表中插入1000条数据的 TPS
java -cp "conf/:lib/*:apps/*" org.fisco.bcos.sdk.demo.perf.PerformanceTable insert 1000 1000 1
参数说明:
insert:压测操作命令,此处为插入数据
1000:压测的交易总量,此处为1000条数据
1000:压测的QPS
1:压测群组号
在终端输入如下压测命令,压测更新表中1000条数据的 TPS
java -cp "conf/:lib/*:apps/*" org.fisco.bcos.sdk.demo.perf.PerformanceTable update 1000 1000 1
参数说明:
update:压测操作命令,此处为更新表中数据
1000:压测的交易总量,此处为1000条数据
1000:压测的QPS
1:压测群组号
在终端输入如下压测命令,压测删除表中1000条数据的 TPS
ava -cp "conf/:lib/*:apps/*" org.fisco.bcos.sdk.demo.perf.PerformanceTable remove 1000 1000 1
参数说明:
remove:压测操作命令,此处为删除表中数据
1000:压测的交易总量,此处为1000条数据
1000:压测的QPS
1:压测群组号
在终端输入如下压测命令,压测查询表中1000条数据的 TPS
java -cp "conf/:lib/*:apps/*" org.fisco.bcos.sdk.demo.perf.PerformanceTable query 1000 1000 1
参数说明:
query:压测操作命令,此处为查询表中数据
1000:压测的交易总量,此处为1000条数据
1000:压测的QPS
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。