1、依赖包( 联系客服获取依赖包 )

chainsql-test-tool.jar

2、⽣成ChainSQL的账户

-n 指定⽣成账户的个数

-a 指定算法类型:不指定该项代表使⽤spec256k1算法, 指定 softGMAlg 表示使⽤国密算法

## ⽣成spec256k1算法的账户

java -classpath chainsql-test-tools.jar com.peersafe.genAddr -n 10


## ⽣成国密算法的账户

java -classpath chainsql-test-tools.jar com.peersafe.genAddr -a "softGMAlg" -n 10

3、激活ChainSQL的账户

-u 指定ChainSQL节点的RPC地址

-a 指定算法类型:不指定该项代表使⽤spec256k1算法, 指定 softGMAlg 表示使⽤国密算法

-i 指定⽂件的路径

# 激活国标算法的账户

java -classpath chainsql-test-tools.jar com.peersafe.activateAccount -u http://192.168.29.69:15005 -i account10.txt


# 激活国密算法的账户

java -classpath chainsql-test-tools.jar com.peersafe.activateAccount -u http://192.168.29.69:15005 -a "softGMAlg" -i account10.txt

4、构建payment签名交易

-c 指定签名交易类型,包括 pay 和 insert

-i 指定ChainSQL账户的⽂件路径

-d 指定收款⽅的地址

-s 指定签名交易开始的 sequence

-num 指定单账户的签名交易个数

# 构建payment签名交易

java -classpath chainsql-test-tools.jar com.peersafe.genSignTx -c pay -i account10.txt

-d "zN7TwUjJ899xcvNXZkNJ8eFFv2VLKdESsj" -s 1 -num 10

5、构建insert签名交易

-c 指定签名交易类型,包括 pay 和 insert

-i 指定ChainSQL账户的⽂件路径

-s 指定签名交易开始的 sequence

-num 指定单账户的签名交易个数

-data 指定json⽂件,该⽂件记录了表相关属性,包括 TableName , NameInDB , Raw

{
   "Tables":[
        {
              "TableName":"N3",
              "NameInDB":"86A64262AB3B0FBA9CDF611BFED8B9BE0E99218A",
              "Owner":"zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh",
              "Raw":[
                  { "field": "name","type": "TEXT"}
              ]
        }
    ]
}

# 构建insert签名交易

java -classpath chainsql-test-tools.jar com.peersafe.genSignTx -c insert -i account10.txt -data data.json -s 1 -num 100

6、创建表

使⽤postman建表

⾮国密节点

{
   "method":"t_create",[
    "params":[
        {
            "offline":false,
            "secret": "xngPMnicfKtGV87AiPYG7pM9nZEZW",
            "tx_json": {
                "TransactionType": "TableListSet",
                "Account": "z5NGhtL5Y46EY2JoasYGhSTXW7b8dThiR",
                "Tables":[
                    {
                        "Table":{
                        "TableName":"cmbcRecord",
                        "NameInDB":"0DDC191B35687230D9D413DDA1EEAE17BF60CEA8"
                        }
                    }
                ],
                "Fee":10000000,
                "OpType":1,
                "Raw":[
                    { "field": "EAC_ID", "type": "varchar", "length": 20},
                    { "field": "tx_id", "type": "varchar", "length": 64}
                ]
            }
        }
    ]
}

国密节点

{
    "method": "t_create",
    "params": [
        {
            "offline": false,
            "secret": "p97evg5Rht7ZB7DbEpVqmV3yiSBMxR3pRBKJyLcRWt7SL5gEeBb",
            "public_key":
            "pYvWhW4azFwanovo5MhL71j5PyTWSJi2NVurPYUrE9UYaSVLp29RhtxxQB7xeGvFmdjbtKRzBQ4g9bCW5hjBQSeb7LePMwFM",
            "tx_json": {
                "TransactionType": "TableListSet",
                "Account": "zN7TwUjJ899xcvNXZkNJ8eFFv2VLKdESsj",
                "Tables":[
                    {
                        "Table":{
                            "TableName":"cmbcRecord",
                            "NameInDB":"0DDC191B35687230D9D413DDA1EEAE17BF60CEA8"
                        }
                    }
                ],
                "OpType": 1,
                "Raw":[
                    { "field": "EAC_ID", "type": "varchar", "length":20} ,
                    { "field": "tx_id", "type": "varchar", "length":64}
                ]
            }
        }
    ]
}

7、表授权

-w 指定ChainSQL节点的WS地址

-t 指定表名

-a 指定授权账户的地址

-a 指定授权账户的seed

# 订阅区块信息

java -classpath chainsql-test-tools.jar com.peersafe.genSignTx -c pay -i account10.txt-d "zN7TwUjJ899xcvNXZkNJ8eFFv2VLKdESsj" -s 1 -num 10

8、订阅区块信息

-w 指定ChainSQL节点的WS地址

# 订阅区块信息

java -classpath test-tools-gm.jar com.peersafe.subLedger -w ws://192.168.29.69:16006