瀏覽代碼

1.0.0发布

Hello 4 年之前
當前提交
cbbbfc4c97
共有 83 個文件被更改,包括 1583 次插入0 次删除
  1. 1 0
      .gitignore
  2. 二進制
      chain_linux_x86_1.0.0
  3. 二進制
      chain_windows_x86_1.0.0.exe
  4. 二進制
      images/image-20210929150144239.png
  5. 二進制
      images/image-20210929150626206.png
  6. 二進制
      images/image-20210929150915040.png
  7. 二進制
      images/image-20210929150935269.png
  8. 二進制
      images/image-20210929150955542.png
  9. 二進制
      images/image-20210929151012773.png
  10. 二進制
      images/image-20210929151211981.png
  11. 二進制
      images/image-20210929151234739.png
  12. 二進制
      libwasmer-arm.so
  13. 二進制
      libwasmer.dylib
  14. 二進制
      libwasmer.so
  15. 二進制
      libwasmer_runtime_c_api.so
  16. 67 0
      log/system.log.2021092916
  17. 122 0
      log/system.log.2021093009
  18. 二進制
      node1.zip
  19. 16 0
      node1/ca.crt
  20. 17 0
      node1/certs/ca/wx-org1.chainmaker.org/ca.crt
  21. 17 0
      node1/certs/ca/wx-org2.chainmaker.org/ca.crt
  22. 17 0
      node1/certs/ca/wx-org3.chainmaker.org/ca.crt
  23. 16 0
      node1/certs/ca/wx-org4.chainmaker.org/ca.crt
  24. 1 0
      node1/certs/node/common1/common1.nodeid
  25. 16 0
      node1/certs/node/common1/common1.sign.crt
  26. 5 0
      node1/certs/node/common1/common1.sign.key
  27. 18 0
      node1/certs/node/common1/common1.tls.crt
  28. 5 0
      node1/certs/node/common1/common1.tls.key
  29. 1 0
      node1/certs/node/consensus1/consensus1.nodeid
  30. 14 0
      node1/certs/node/consensus1/consensus1.sign.crt
  31. 6 0
      node1/certs/node/consensus1/consensus1.sign.key
  32. 14 0
      node1/certs/node/consensus1/consensus1.tls.crt
  33. 6 0
      node1/certs/node/consensus1/consensus1.tls.key
  34. 11 0
      node1/certs/user/admin1/admin1.sign.crt
  35. 6 0
      node1/certs/user/admin1/admin1.sign.key
  36. 12 0
      node1/certs/user/admin1/admin1.tls.crt
  37. 6 0
      node1/certs/user/admin1/admin1.tls.key
  38. 1 0
      node1/certs/user/client1/client1.addr
  39. 15 0
      node1/certs/user/client1/client1.sign.crt
  40. 5 0
      node1/certs/user/client1/client1.sign.key
  41. 15 0
      node1/certs/user/client1/client1.tls.crt
  42. 5 0
      node1/certs/user/client1/client1.tls.key
  43. 15 0
      node1/certs/user/light1/light1.sign.crt
  44. 5 0
      node1/certs/user/light1/light1.sign.key
  45. 15 0
      node1/certs/user/light1/light1.tls.crt
  46. 5 0
      node1/certs/user/light1/light1.tls.key
  47. 128 0
      node1/chain.yml
  48. 81 0
      node1/chainconfig/bc1.yml
  49. 34 0
      node1/log.yml
  50. 17 0
      node2/certs/ca/wx-org1.chainmaker.org/ca.crt
  51. 17 0
      node2/certs/ca/wx-org2.chainmaker.org/ca.crt
  52. 17 0
      node2/certs/ca/wx-org3.chainmaker.org/ca.crt
  53. 16 0
      node2/certs/ca/wx-org4.chainmaker.org/ca.crt
  54. 1 0
      node2/certs/node/common1/common1.nodeid
  55. 16 0
      node2/certs/node/common1/common1.sign.crt
  56. 5 0
      node2/certs/node/common1/common1.sign.key
  57. 18 0
      node2/certs/node/common1/common1.tls.crt
  58. 5 0
      node2/certs/node/common1/common1.tls.key
  59. 1 0
      node2/certs/node/consensus1/consensus1.nodeid
  60. 14 0
      node2/certs/node/consensus1/consensus1.sign.crt
  61. 6 0
      node2/certs/node/consensus1/consensus1.sign.key
  62. 14 0
      node2/certs/node/consensus1/consensus1.tls.crt
  63. 6 0
      node2/certs/node/consensus1/consensus1.tls.key
  64. 15 0
      node2/certs/user/admin1/admin1.sign.crt
  65. 5 0
      node2/certs/user/admin1/admin1.sign.key
  66. 15 0
      node2/certs/user/admin1/admin1.tls.crt
  67. 5 0
      node2/certs/user/admin1/admin1.tls.key
  68. 1 0
      node2/certs/user/client1/client1.addr
  69. 15 0
      node2/certs/user/client1/client1.sign.crt
  70. 5 0
      node2/certs/user/client1/client1.sign.key
  71. 15 0
      node2/certs/user/client1/client1.tls.crt
  72. 5 0
      node2/certs/user/client1/client1.tls.key
  73. 15 0
      node2/certs/user/light1/light1.sign.crt
  74. 5 0
      node2/certs/user/light1/light1.sign.key
  75. 15 0
      node2/certs/user/light1/light1.tls.crt
  76. 5 0
      node2/certs/user/light1/light1.tls.key
  77. 81 0
      node2/chainconfig/bc1.yml
  78. 123 0
      node2/chainmaker.yml
  79. 34 0
      node2/log.yml
  80. 269 0
      readme.md
  81. 84 0
      sql/block_chain.sql
  82. 二進制
      wasm/fact_1.0.0.wasm
  83. 二進制
      wasmer_runtime_c_api.dll

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+/data

二進制
chain_linux_x86_1.0.0


二進制
chain_windows_x86_1.0.0.exe


二進制
images/image-20210929150144239.png


二進制
images/image-20210929150626206.png


二進制
images/image-20210929150915040.png


二進制
images/image-20210929150935269.png


二進制
images/image-20210929150955542.png


二進制
images/image-20210929151012773.png


二進制
images/image-20210929151211981.png


二進制
images/image-20210929151234739.png


二進制
libwasmer-arm.so


二進制
libwasmer.dylib


二進制
libwasmer.so


二進制
libwasmer_runtime_c_api.so


+ 67 - 0
log/system.log.2021092916

@@ -0,0 +1,67 @@
+2021-09-29 16:25:33.493	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:68	load net provider: LibP2P
+2021-09-29 16:25:33.533	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:83	load net tls key file path: D:\MarkDown\BlockChain\node1\certs\node\consensus1\consensus1.tls.key
+2021-09-29 16:25:33.533	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:91	load net tls cert file path: D:\MarkDown\BlockChain\node1\certs\node\consensus1\consensus1.tls.crt
+2021-09-29 16:25:33.534	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:184	load genesis file path of chain[chain1]: D:\MarkDown\BlockChain\node1\chainconfig\bc1.yml
+2021-09-29 16:25:33.535	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (1/4) => init base[Subscriber] success :)
+2021-09-29 16:25:33.604	[INFO]	[Storage] @chain1	store/blockstore_impl.go:106	binlog is empty, don't need recover
+2021-09-29 16:25:33.606	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (2/4) => init base[Store] success :)
+2021-09-29 16:25:33.607	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:224	get last block [chainId:chain1]/[height:0]/[blockhash:5eab0c13f799aafb97b0b2629275f94f0c36ada4aece994643b1dfe1bfe4ee31] success, no need to create genesis block
+2021-09-29 16:25:33.608	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (3/4) => init base[Ledger] success :)
+2021-09-29 16:25:33.609	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (4/4) => init base[ChainConf] success :)
+2021-09-29 16:25:33.636	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (1/8) => init module[AccessControl] success :)
+2021-09-29 16:25:33.637	[INFO]	[Net] @chain1	net/net_service_factory.go:52	[NetServiceFactory] set consensus node uid list ok(chain-id:chain1)
+2021-09-29 16:25:33.641	[INFO]	[Net] @chain1	net/net_service_factory.go:63	[NetServiceFactory] add trust root certs ok(chain-id:chain1)
+2021-09-29 16:25:33.641	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (2/8) => init module[NetService] success :)
+2021-09-29 16:25:33.642	[INFO]	[Vm] @chain1	vm/vm_factory.go:44	init wxvm code dir data\sina.yumawk.com\ledgerData1\chain1\wxvm
+2021-09-29 16:25:33.645	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (3/8) => init module[VM] success :)
+2021-09-29 16:25:33.645	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (4/8) => init module[DPoS] success :)
+2021-09-29 16:25:33.647	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (5/8) => init module[TxPool] success :)
+2021-09-29 16:25:33.648	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (6/8) => init module[Core] success :)
+2021-09-29 16:25:33.648	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:139	New ConsensusTBFTImpl[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]
+2021-09-29 16:25:33.653	[INFO]	[Consensus] @chain1	tbft/validator.go:39	new validator set: [QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]
+2021-09-29 16:25:33.654	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (7/8) => init module[Consensus] success :)
+2021-09-29 16:25:33.654	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (8/8) => init module[Sync] success :)
+2021-09-29 16:25:33.655	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:192	init blockchain[chain1] success!
+2021-09-29 16:25:33.657	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:59	init chain maker server success!
+2021-09-29 16:25:33.659	[INFO]	[Rpc]	rpcserver/rpc_server.go:301	need check client auth
+2021-09-29 16:25:33.662	[INFO]	[Net]	p2p/libp2p_net_prepare.go:137	[Net] preparing blacklist...
+2021-09-29 16:25:33.664	[INFO]	[Net]	p2p/libp2p_net_prepare.go:162	[Net] blacklist prepared.
+2021-09-29 16:25:33.664	[INFO]	[Net]	p2p/libp2p_net_prepare.go:168	[Net] creating options...
+2021-09-29 16:25:33.665	[INFO]	[Net]	p2p/libp2p_net_prepare.go:241	[Net] node key preparing...
+2021-09-29 16:25:33.666	[INFO]	[Net]	p2p/libp2p_net_prepare.go:256	[Net] node key prepared ok.
+2021-09-29 16:25:33.668	[INFO]	[Net]	p2p/libp2p_net_prepare.go:195	[Net] the priv key type found[sm2]. use gm tls security.
+2021-09-29 16:25:33.669	[INFO]	[Net]	p2p/libp2p_net_prepare.go:236	[Net] options created.
+2021-09-29 16:25:33.670	[WARN]	[Net]	p2p/libp2p_peer_connection_manager.go:68	[PeerConnManager] wrong max size set(max size:0). use default(default:20)
+2021-09-29 16:25:33.671	[WARN]	[Net]	p2p/libp2p_peer_connection_manager.go:58	[PeerConnManager] wrong strategy set(strategy:0). use default(default:3)
+2021-09-29 16:25:33.673	[INFO]	[Net]	p2p/libp2p_host.go:156	[Host] stating host...
+2021-09-29 16:25:33.693	[INFO]	[Net]	p2p/libp2p_host.go:164	[Host] host stated.
+2021-09-29 16:25:33.705	[INFO]	[Net]	p2p/libp2p_host.go:166	[Host] host listening on address:/ip4/192.168.0.10/tcp/11301/p2p/QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh
+2021-09-29 16:25:33.706	[INFO]	[Net]	p2p/libp2p_host.go:166	[Host] host listening on address:/ip4/127.0.0.1/tcp/11301/p2p/QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh
+2021-09-29 16:25:33.706	[INFO]	[Net]	p2p/libp2p_discovery.go:16	[Discovery] discovery setting...
+2021-09-29 16:25:33.707	[INFO]	[Net]	p2p/libp2p_discovery.go:24	[Discovery] dht will be created with server-mode.
+2021-09-29 16:25:33.707	[INFO]	[Net]	p2p/libp2p_discovery.go:55	[Discovery] announcing ourselves...
+2021-09-29 16:25:33.708	[INFO]	[Net]	p2p/libp2p_discovery.go:58	[Discovery] successfully announced!
+2021-09-29 16:25:33.708	[INFO]	[Net]	p2p/libp2p_discovery.go:60	[Discovery] searching for other peers...
+2021-09-29 16:25:33.708	[INFO]	[Net]	p2p/libp2p_discovery.go:67	[Discovery] discovery set up.
+2021-09-29 16:25:33.709	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:211	[Net] start success!
+2021-09-29 16:25:33.709	[INFO]	[Net]	p2p/libp2p_pubsub.go:105	[PubSub] gossip-sub service[chain1] starting... 
+2021-09-29 16:25:33.710	[INFO]	[Net]	p2p/libp2p_pubsub.go:117	[PubSub] gossip-sub service[chain1] started. 
+2021-09-29 16:25:33.710	[INFO]	[Net]	p2p/libp2p_pubsub.go:80	[PubSub] gossip-sub subscribe topic[chain1_topic_TX].
+2021-09-29 16:25:33.710	[INFO]	[Net]	p2p/libp2p_pubsub.go:80	[PubSub] gossip-sub subscribe topic[chain1_msgbus_topic_SYNC_BLOCK_MSG].
+2021-09-29 16:25:33.711	[INFO]	[Net] @chain1	net/net_service.go:571	[NetService] init bind msg-bus ok
+2021-09-29 16:25:33.712	[INFO]	[Net] @chain1	net/net_service.go:268	[NetService] net service started.
+2021-09-29 16:25:33.713	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (1/5) => start module[NetService] success :)
+2021-09-29 16:25:33.713	[INFO]	[Core] @chain1	proposer/block_proposer_impl.go:153	block proposer starts
+2021-09-29 16:25:33.714	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (2/5) => start module[Core] success :)
+2021-09-29 16:25:33.715	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:190	start ConsensusTBFTImpl[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]
+2021-09-29 16:25:33.715	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:1488	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh] replayWal lastIndex of wal: 3 and HeightFirstIndex of wal: 0
+2021-09-29 16:25:33.716	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:1492	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh] replayWal chainHeight: 0 and walHeight: 1
+2021-09-29 16:25:33.716	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:914	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]attempt enter new height to (1)
+2021-09-29 16:25:33.716	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:1558	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh] delete internalMsgC start
+2021-09-29 16:25:33.716	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:285	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh](0/0/NewHeight) update chain config
+2021-09-29 16:25:33.717	[INFO]	[Consensus] @chain1	tbft/consensus_tbft_impl.go:294	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh](0/0/NewHeight) update chain config, config: type:TBFT nodes:<org_id:"sina.yumawk.com" node_id:"QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh" > , TimeoutPropose: 0s, TimeoutProposeDelta: 0s, validators: [QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]
+2021-09-29 16:25:33.718	[INFO]	[Consensus] @chain1	tbft/validator.go:145	[QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh] update validators, validators: [QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh], addedValidators: [], removedValidators: []
+2021-09-29 16:25:33.718	[ERROR]	[Blockchain] @chain1	blockchain/blockchain_start.go:73	start consensus failed, not found
+2021-09-29 16:25:33.718	[INFO]	[Consensus] @chain1	tbft/gossip.go:122	eventC len: 0
+2021-09-29 16:25:33.719	[ERROR]	[Blockchain] @chain1	blockchain/blockchain_start.go:47	start module[Consensus] failed, not found
+2021-09-29 16:25:33.720	[ERROR]	[Blockchain]	blockchain/chainmaker_server.go:198	[Core] start blockchain[chain1] failed, not found

+ 122 - 0
log/system.log.2021093009

@@ -0,0 +1,122 @@
+2021-09-30 09:30:36.365	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:68	load net provider: LibP2P
+2021-09-30 09:30:36.400	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:83	load net tls key file path: D:\MarkDown\BlockChain\node2\certs\node\consensus1\consensus1.tls.key
+2021-09-30 09:30:36.400	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:91	load net tls cert file path: D:\MarkDown\BlockChain\node2\certs\node\consensus1\consensus1.tls.crt
+2021-09-30 09:30:36.401	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:184	load genesis file path of chain[chain1]: D:\MarkDown\BlockChain\node2\chainconfig\bc1.yml
+2021-09-30 09:30:36.402	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (1/4) => init base[Subscriber] success :)
+2021-09-30 09:30:36.465	[INFO]	[Storage] @chain1	store/blockstore_impl.go:106	binlog is empty, don't need recover
+2021-09-30 09:30:36.467	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (2/4) => init base[Store] success :)
+2021-09-30 09:30:36.469	[INFO]	[ChainConf]	chainconf/chainconf.go:109	load trust root file path: D:\MarkDown\BlockChain\node1\ca.crt
+2021-09-30 09:30:36.473	[INFO]	[Storage] @chain1	blockkvdb/blockkvdb.go:105	chain[chain1]: commit config blockInfo[0]
+2021-09-30 09:30:36.473	[INFO]	[Storage] @chain1	blockkvdb/blockkvdb.go:114	chain[chain1]: commit blockInfo[0] time used (prepare_txs:0 write_batch:0, total:0)
+2021-09-30 09:30:36.474	[INFO]	[Storage] @chain1	blockkvdb/blockkvdb.go:542	write block db, block[0], time used:1
+2021-09-30 09:30:36.474	[INFO]	[Storage] @chain1	store/blockstore_impl.go:174	chain[chain1]: put block[0] (txs:1 bytes:4961), 
+2021-09-30 09:30:36.474	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (3/4) => init base[Ledger] success :)
+2021-09-30 09:30:36.475	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:112	BASE INIT STEP (4/4) => init base[ChainConf] success :)
+2021-09-30 09:30:36.499	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (1/8) => init module[AccessControl] success :)
+2021-09-30 09:30:36.499	[INFO]	[Net] @chain1	net/net_service_factory.go:52	[NetServiceFactory] set consensus node uid list ok(chain-id:chain1)
+2021-09-30 09:30:36.503	[INFO]	[Net] @chain1	net/net_service_factory.go:63	[NetServiceFactory] add trust root certs ok(chain-id:chain1)
+2021-09-30 09:30:36.503	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (2/8) => init module[NetService] success :)
+2021-09-30 09:30:36.504	[INFO]	[Vm] @chain1	vm/vm_factory.go:44	init wxvm code dir data\baidu.yumawk.com\ledgerData1\chain1\wxvm
+2021-09-30 09:30:36.506	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (3/8) => init module[VM] success :)
+2021-09-30 09:30:36.506	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (4/8) => init module[DPoS] success :)
+2021-09-30 09:30:36.507	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (5/8) => init module[TxPool] success :)
+2021-09-30 09:30:36.507	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (6/8) => init module[Core] success :)
+2021-09-30 09:30:36.508	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (7/8) => init module[Consensus] success :)
+2021-09-30 09:30:36.508	[INFO]	[Blockchain] @chain1	blockchain/blockchain_init.go:126	MODULE INIT STEP (8/8) => init module[Sync] success :)
+2021-09-30 09:30:36.509	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:192	init blockchain[chain1] success!
+2021-09-30 09:30:36.510	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:59	init chain maker server success!
+2021-09-30 09:30:36.511	[INFO]	[Rpc]	rpcserver/rpc_server.go:301	need check client auth
+2021-09-30 09:30:36.514	[INFO]	[Net]	p2p/libp2p_net_prepare.go:137	[Net] preparing blacklist...
+2021-09-30 09:30:36.515	[INFO]	[Net]	p2p/libp2p_net_prepare.go:162	[Net] blacklist prepared.
+2021-09-30 09:30:36.515	[INFO]	[Net]	p2p/libp2p_net_prepare.go:168	[Net] creating options...
+2021-09-30 09:30:36.516	[INFO]	[Net]	p2p/libp2p_net_prepare.go:241	[Net] node key preparing...
+2021-09-30 09:30:36.517	[INFO]	[Net]	p2p/libp2p_net_prepare.go:256	[Net] node key prepared ok.
+2021-09-30 09:30:36.517	[INFO]	[Net]	p2p/libp2p_net_prepare.go:195	[Net] the priv key type found[sm2]. use gm tls security.
+2021-09-30 09:30:36.518	[INFO]	[Net]	p2p/libp2p_net_prepare.go:236	[Net] options created.
+2021-09-30 09:30:36.518	[WARN]	[Net]	p2p/libp2p_peer_connection_manager.go:68	[PeerConnManager] wrong max size set(max size:0). use default(default:20)
+2021-09-30 09:30:36.518	[WARN]	[Net]	p2p/libp2p_peer_connection_manager.go:58	[PeerConnManager] wrong strategy set(strategy:0). use default(default:3)
+2021-09-30 09:30:36.518	[INFO]	[Net]	p2p/libp2p_host.go:156	[Host] stating host...
+2021-09-30 09:30:36.544	[INFO]	[Net]	p2p/libp2p_host.go:164	[Host] host stated.
+2021-09-30 09:30:36.557	[INFO]	[Net]	p2p/libp2p_host.go:166	[Host] host listening on address:/ip4/192.168.0.10/tcp/11302/p2p/QmbvQunyZAoy3PEVvM2ePSwHSfcFq25e3b1ZjbXW7GtA9k
+2021-09-30 09:30:36.557	[INFO]	[Net]	p2p/libp2p_host.go:166	[Host] host listening on address:/ip4/127.0.0.1/tcp/11302/p2p/QmbvQunyZAoy3PEVvM2ePSwHSfcFq25e3b1ZjbXW7GtA9k
+2021-09-30 09:30:36.558	[INFO]	[Net]	p2p/libp2p_discovery.go:16	[Discovery] discovery setting...
+2021-09-30 09:30:36.558	[INFO]	[Net]	p2p/libp2p_discovery.go:24	[Discovery] dht will be created with server-mode.
+2021-09-30 09:30:36.559	[INFO]	[Net]	p2p/libp2p_discovery.go:55	[Discovery] announcing ourselves...
+2021-09-30 09:30:36.559	[INFO]	[Net]	p2p/libp2p_discovery.go:58	[Discovery] successfully announced!
+2021-09-30 09:30:36.560	[INFO]	[Net]	p2p/libp2p_discovery.go:60	[Discovery] searching for other peers...
+2021-09-30 09:30:36.560	[INFO]	[Net]	p2p/libp2p_discovery.go:67	[Discovery] discovery set up.
+2021-09-30 09:30:36.561	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:211	[Net] start success!
+2021-09-30 09:30:36.563	[INFO]	[Net]	p2p/libp2p_pubsub.go:105	[PubSub] gossip-sub service[chain1] starting... 
+2021-09-30 09:30:36.564	[INFO]	[Net]	p2p/libp2p_pubsub.go:117	[PubSub] gossip-sub service[chain1] started. 
+2021-09-30 09:30:36.564	[INFO]	[Net]	p2p/libp2p_pubsub.go:80	[PubSub] gossip-sub subscribe topic[chain1_topic_TX].
+2021-09-30 09:30:36.565	[INFO]	[Rpc]	rpcserver/rpc_server.go:134	gRPC server listen on :12302
+2021-09-30 09:30:36.565	[INFO]	[Net]	p2p/libp2p_pubsub.go:80	[PubSub] gossip-sub subscribe topic[chain1_msgbus_topic_SYNC_BLOCK_MSG].
+2021-09-30 09:30:36.566	[INFO]	[Net] @chain1	net/net_service.go:571	[NetService] init bind msg-bus ok
+2021-09-30 09:30:36.567	[INFO]	[Net] @chain1	net/net_service.go:268	[NetService] net service started.
+2021-09-30 09:30:36.567	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (1/4) => start module[NetService] success :)
+2021-09-30 09:30:36.566	[INFO]	[Monitor]	monitor/server.go:59	Monitor http server listen on :14322
+2021-09-30 09:30:36.569	[INFO]	[Cli]	cmd/cli_start.go:126	
+=================================================================================
+   ______    __              _             __  ___            __
+  / ____/   / /_   ____ _   (_)   ____    /  |/  /  ____ _   / /__  ___    _____
+ / /       / __ \ / __ `/  / /   / __ \  / /|_/ /  / __ `/  / //_/ / _ \  / ___/
+/ /___    / / / // /_/ /  / /   / / / / / /  / /  / /_/ /  / ,<   /  __/ / /
+\____/   /_/ /_/ \__,_/  /_/   /_/ /_/ /_/  /_/   \__,_/  /_/|_|  \___/ /_/
+=================================================================================
+::ChainMaker::  version(v1.2.5)
+
+2021-09-30 09:30:36.568	[INFO]	[Core] @chain1	proposer/block_proposer_impl.go:153	block proposer starts
+2021-09-30 09:30:36.570	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (2/4) => start module[Core] success :)
+2021-09-30 09:30:36.571	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (3/4) => start module[TxPool] success :)
+2021-09-30 09:30:36.571	[INFO]	[Sync] @chain1	sync/blockchain_sync_server.go:110	blockPoolSize: 1024, request timeout: 5000000000, batchSizeFromOneNode: 1, processBlockTick: 20ms, schedulerTick: 20ms, livenessTick: 1s, nodeStatusTick: 5s
+
+2021-09-30 09:30:36.574	[INFO]	[Net]	p2p/libp2p_pubsub.go:80	[PubSub] gossip-sub subscribe topic[chain1_topic_SYNC_BLOCK_MSG].
+2021-09-30 09:30:36.575	[INFO]	[Blockchain] @chain1	blockchain/blockchain_start.go:50	START STEP (4/4) => start module[Sync] success :)
+2021-09-30 09:30:36.575	[INFO]	[Blockchain]	blockchain/chainmaker_server.go:201	[Core] start blockchain[chain1] success
+2021-09-30 09:30:41.636	[INFO]	[Net]	p2p/libp2p_net.go:870	[Net] add to pubsub white list(peer-id:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh, chain-id:chain1)
+2021-09-30 09:30:41.665	[INFO]	[Net]	p2p/libp2p_host.go:38	[Host] new connection connected(remote peer-id:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh, remote multi-addr:/ip4/124.71.218.7/tcp/11301)
+2021-09-30 09:30:41.702	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.703	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.704	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.704	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.705	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.705	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.706	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.707	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.707	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:41.708	[INFO]	[Net]	p2p/libp2p_stream_pool.go:92	[StreamPool.initStreams] try to create and add new stream success(pid:QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh)
+2021-09-30 09:30:46.561	[INFO]	[Net]	p2p/libp2p_connection_supervisor.go:98	[ConnSupervisor] all necessary peers connected.
+2021-09-30 09:30:46.566	[INFO]	[Net]	p2p/libp2p_net.go:761	[Net] add peer to chain pubsub white list, (pid: QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh, chain id: chain1)
+2021-09-30 09:30:46.661	[INFO]	[Snapshot]	snapshot/snapshot_manager.go:44	create snapshot@chain1 at height 1, fingerPrint[871d712cb57c66827ffdc675d2e75e7f34e09a90564f15cd56e45c43f3289d5a] -> prevFingerPrint[47f95835f45543705219bb2838a1773ba608496bc6a7acc47a6b315789b9f9fa]
+2021-09-30 09:30:46.663	[INFO]	[Core] @chain1	scheduler/scheduler.go:461	policy not found for invoke_system_contract, contract[SYSTEM_CONTRACT_CERT_MANAGE], method[CERT_ADD], skip acVerify here
+2021-09-30 09:30:46.664	[INFO]	[Vm] @chain1	native/cert_manage_contract.go:96	certManage add cert success certHash[1f5b54e4f05caa7d5857201ae5bc9b56c7091d1c34737c9f8c015d17446f0563] memberInfo[-----BEGIN CERTIFICATE-----
+MIICDzCCAbSgAwIBAgIJAIlCFHqxjopLMAoGCCqBHM9VAYN1MIGQMQswCQYDVQQG
+EwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzAR
+BgNVBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW
+5Y2X5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MB4XDTIxMDkx
+NDA3MDU1N1oXDTI2MDkxMzA3MDU1N1owgYMxCzAJBgNVBAYTAkNOMRIwEAYDVQQI
+DAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjEYMBYGA1UEChMPc2luYS55
+dW1hd2suY29tMQ4wDAYDVQQLEwVhZG1pbjEiMCAGA1UEAxMZYWRtaW4udGxzLnNp
+bmEueXVtYXdrLmNvbTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABGQqKqMNPSc4
+bQElZ3tnQEW5pNrFS/0DecT/n99Ey1HEjiujH8c6quz0NWUEi9wS4QjhdJpWOJys
+rgdWLlBRtZ2jAjAAMAoGCCqBHM9VAYN1A0kAMEYCIQCT1MwYfpOquD2MCkTLPO32
+7nzZaRB+Bl5wC6XyYWHnXAIhAM0cvKkaCC5KAiv6hvE/pmHZkQS2iPziAXeQ6QJU
+2RJ9
+-----END CERTIFICATE-----
+]
+2021-09-30 09:30:46.664	[INFO]	[Core] @chain1	scheduler/scheduler.go:287	simulate with dag end, size 1, time used 1.1114ms
+2021-09-30 09:30:46.666	[INFO]	[TxPool] @chain1	single/tx_pool_impl.go:280	GetTxsByTxIds elapse time: 0
+2021-09-30 09:30:46.674	[INFO]	[Consensus] @chain1	tbft/validator.go:39	new validator set: [QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh]
+2021-09-30 09:30:46.676	[INFO]	[Consensus] @chain1	tbft/vote.go:340	VoteSet(VotePrecommit/1/31) AddVote reach majority 6b5f235c678b351a90ba25c3b4cfa7a39eb54c440ff030ee93cb78858c95f364
+2021-09-30 09:30:46.678	[INFO]	[TxPool] @chain1	single/tx_pool_impl.go:379	add tx to pendingCache, (txs num:1), blockHeight:1
+2021-09-30 09:30:46.678	[INFO]	[Core] @chain1	verifier/block_verifier_impl.go:198	verify success [1,6b5f235c678b351a90ba25c3b4cfa7a39eb54c440ff030ee93cb78858c95f364]([6 3 8 0],23)
+2021-09-30 09:30:46.679	[INFO]	[Storage] @chain1	store/blockstore_impl.go:194	chain[chain1]: start put block[1]
+2021-09-30 09:30:46.686	[INFO]	[Storage] @chain1	blockkvdb/blockkvdb.go:114	chain[chain1]: commit blockInfo[1] time used (prepare_txs:0 write_batch:0, total:0)
+2021-09-30 09:30:46.686	[INFO]	[Storage] @chain1	blockkvdb/blockkvdb.go:542	write block db, block[1], time used:0
+2021-09-30 09:30:46.686	[INFO]	[Storage] @chain1	store/blockstore_impl.go:281	chain[chain1]: put block[1] (txs:1 bytes:5486), time used (mashal:0, log:6, commit:1, total:7)
+2021-09-30 09:30:46.687	[INFO]	[Snapshot]	snapshot/snapshot_manager.go:52	commit snapshot@chain1 at height 1
+2021-09-30 09:30:46.687	[INFO]	[Snapshot]	snapshot/snapshot_manager.go:67	delete snapshot@chain1 871d712cb57c66827ffdc675d2e75e7f34e09a90564f15cd56e45c43f3289d5a at height 1
+2021-09-30 09:30:46.688	[INFO]	[Core] @chain1	common/block_helper.go:747	remove txs[1] and retry txs[0] in add block
+2021-09-30 09:30:46.688	[INFO]	[TxPool] @chain1	single/tx_pool_impl.go:353	removeTxs elapse time: 0
+2021-09-30 09:30:46.689	[INFO]	[Core] @chain1	common/block_helper.go:754	commit block [1](count:1,hash:6b5f235c678b351a90ba25c3b4cfa7a39eb54c440ff030ee93cb78858c95f364), time used(check:0,db:8,ss:1,conf:0,pool:1,pubConEvent:0,other:0,total:10)
+2021-09-30 09:30:46.689	[INFO]	[Sync] @chain1	sync/processor.go:91	process block [height: 1], status [0]

二進制
node1.zip


+ 16 - 0
node1/ca.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICbzCCAhSgAwIBAgIRAPzSShfl3cn+nzsGKH8PJuQwCgYIKoEcz1UBg3UwgZAx
+CzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+ay
+meW4gjETMBEGA1UEChMKeXVtYXdrLmNvbTEPMA0GA1UECxMGUm9vdENBMTMwMQYD
+VQQDDCrmuZbljZflvqHnoIHnvZHmjqfkv6Hmga/mioDmnK/mnInpmZDlhazlj7gw
+IBcNMjEwOTEwMDY1MzIwWhgPMjA1MTA5MDMwNjUzMjBaMIGQMQswCQYDVQQGEwJD
+TjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzARBgNV
+BAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW5Y2X
+5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MFkwEwYHKoZIzj0C
+AQYIKoEcz1UBgi0DQgAEF4jzcDaNk0n9sLM9oU++w04Zw7a26emycMnv688xzSXC
+tCupYeBE+dhbLEhUkaGuOpklo8vIqRaCSLNa/KxINKNLMEkwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wJgYDVR0RBB8wHYIKeXVtYXdrLmNvbYIJbG9j
+YWxob3N0hwR/AAABMAoGCCqBHM9VAYN1A0kAMEYCIQCFVCY3xRc+PvCmE94yxM/q
+e+w6cUs3Jf7Zo1IWtKQNhgIhAM7adp2l4f5Zal7Hzj0Bfn64Tc41LrA5w+BfDSnZ
+K+2N
+-----END CERTIFICATE-----

+ 17 - 0
node1/certs/ca/wx-org1.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnjCCAkSgAwIBAgIDBpdmMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzEuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT9AN8/xv4MDoP+lWco
+1EUcO+xVBunz4kFlwi/iByDbac2x+XfhF6mXtT5mdg5jV6OykqIcqInKidRSIpxy
+Vk4go4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCCcrysjykLsk4AJPejR9kKnC2V/QnIX3o/vlph20OjcoDBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcxLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0gAMEUCIQDNLV6VKCqyd1ZHQbKUaM9G
+D4m5b5WAt2EJpkp7hMz7lgIgKwkOzti6D+kTU0a3LFfbVrMtbeo//hlcS5gwfo6B
+1nU=
+-----END CERTIFICATE-----

+ 17 - 0
node1/certs/ca/wx-org2.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnzCCAkSgAwIBAgIDAubCMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzIuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARz7rY9/M1Vn96nc3GJ
+alXLMicCsvS3NBsPDUY4/HlgQzUbaPbyEnaaYZl4vWdJw6dWwpZb+ZjTO2mSsOKd
+YGsRo4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCAqlldqcDDrsQX85UGtCpftpNSijKz2Yvu5a5R0MiYyAzBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcyLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0kAMEYCIQCCcHQ/5E9QbQKgKAo9GdyV
+aUDRhVVcirV2XOPre/+j1gIhAIiOsMvTU3LzrYK8Y3AUf6n9wy3O1uwc4CLNQiLz
+oSS3
+-----END CERTIFICATE-----

+ 17 - 0
node1/certs/ca/wx-org3.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnjCCAkSgAwIBAgIDDKj1MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzMuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATLaUl/2ZknzPMNa2Kd
+QAgkbr0TzIyMnpmUa1hwFLQMpnkHfR6UE4RppgYfhfGqs4Pf2q6+ACSZWcg6E+nu
+bw4no4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCDSmEB5xMV6Qv96vQyyn8ANgb11BZFzNQM1XBFW9JRIjjBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmczLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0gAMEUCIHHI0cfmQtkzO9Oc8rDzbIzb
+aKRTDG+bNGNjt/ZnbEFkAiEA12Ahd2jtxtzUO8egORo3dM5Szm8JOMZ79GvoQjd/
+ag4=
+-----END CERTIFICATE-----

+ 16 - 0
node1/certs/ca/wx-org4.chainmaker.org/ca.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICnDCCAkSgAwIBAgIDDdk+MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzQuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASwLBQRBswJX7Q/eBba
+I7jyipJLqtu5WECf7cjuwV+3SMvE/YO/wrF8FX37fgvuf6iY5yzmAVXdN0rvtVPW
+w28go4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCDf/6SGbIrqJ8omuljlP8QeK5lBpyuSM9TGDLDil6Ct2zBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmc0LmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0YAMEMCIAf14LxN5W7T2D19q4F695H/
+DyAc+98S9NJVIr9x9ZmzAh9ApVEvTwgXs60lZMWPuA6zM+Wr5oueUEHNggBZk4zD
+-----END CERTIFICATE-----

+ 1 - 0
node1/certs/node/common1/common1.nodeid

@@ -0,0 +1 @@
+QmVi5nGZc3GvQasmGESqYjWBEynvqFqepqhwopyUc6ZBXt

+ 16 - 0
node1/certs/node/common1/common1.sign.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICnDCCAkGgAwIBAgIDAvOlMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmcx
+LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVF3dBJuA
+TGqvVqLi6ls5j+UoRENS+B7gxQfaKa5iVz0yoqPEE9oEtiJoBPZqiBoJ//NO1gSH
+W/YqpueFIEq1IqOBjDCBiTApBgNVHQ4EIgQgk/77p+y4Gloy9v6t1iTqjvzppgzf
+8TS5Ue6+hSyXiEgwKwYDVR0jBCQwIoAgnK8rI8pC7JOACT3o0fZCpwtlf0JyF96P
+75aYdtDo3KAwLwYLgSdYj2QLHo9kCwQEIDc5OTlhZTAxYjllODQ1MmI4ZjhmMjcx
+YzZjYjdjMmE0MAoGCCqGSM49BAMCA0kAMEYCIQCZiDwN4+ScXLZ6nuwQnkop7hrA
+G8ki4488tDjMIDOBrwIhAP3m+fvPpcyvR8wMcXCIfiDOCA/+KKmRs2jIsjv1JvaR
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/node/common1/common1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIIEhYL7brNB/DORg9HKpHopzEhO/A9+ABwr+UGXEeqJgoAoGCCqGSM49
+AwEHoUQDQgAEVF3dBJuATGqvVqLi6ls5j+UoRENS+B7gxQfaKa5iVz0yoqPEE9oE
+tiJoBPZqiBoJ//NO1gSHW/YqpueFIEq1Ig==
+-----END EC PRIVATE KEY-----

+ 18 - 0
node1/certs/node/common1/common1.tls.crt

@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC6zCCApCgAwIBAgIDBwEOMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzEu
+Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQVRBCO4rE/
+MzU/6B1w0dUB0TkwL4eY54LOobiY8kWixQS/S4N2nPIYNo8dhSCQR8TiHHRp0cPw
+AzDmovLiIR/Wo4HcMIHZMCkGA1UdDgQiBCDQo3QnFWIVS0zBCzJ4fhLkrHgW6D4Q
+4ex3IcT8/Dh36DArBgNVHSMEJDAigCCcrysjykLsk4AJPejR9kKnC2V/QnIX3o/v
+lph20OjcoDBOBgNVHREERzBFgg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0giJj
+b21tb24xLnRscy53eC1vcmcxLmNoYWlubWFrZXIub3JnhwR/AAABMC8GC4EnWI9k
+Cx6PZAsEBCA3OTk5YWUwMWI5ZTg0NTJiOGY4ZjI3MWM2Y2I3YzJhNDAKBggqhkjO
+PQQDAgNJADBGAiEAvx3wy4OGRwZCLIbWElFJZ+ZzwJB3cfKdEGRgQ3cjEkMCIQCn
+UhEpGSVl+idrAoUvoyu3eQERikuUHzL0dIH7QJoYOg==
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/node/common1/common1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIB9DY6JhL3nP81RMxlwvkOQRgqZKzR01SjvRyHWBislGoAoGCCqGSM49
+AwEHoUQDQgAEFUQQjuKxPzM1P+gdcNHVAdE5MC+HmOeCzqG4mPJFosUEv0uDdpzy
+GDaPHYUgkEfE4hx0adHD8AMw5qLy4iEf1g==
+-----END EC PRIVATE KEY-----

+ 1 - 0
node1/certs/node/consensus1/consensus1.nodeid

@@ -0,0 +1 @@
+QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh

+ 14 - 0
node1/certs/node/consensus1/consensus1.sign.crt

@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICGDCCAb2gAwIBAgIJAMLFR+WSMIaPMAoGCCqBHM9VAYN1MIGQMQswCQYDVQQG
+EwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzAR
+BgNVBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW
+5Y2X5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MB4XDTIxMDkx
+MDA3NDYwN1oXDTI2MDkwOTA3NDYwN1owgYwxCzAJBgNVBAYTAkNOMRIwEAYDVQQI
+DAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjEYMBYGA1UEChMPc2luYS55
+dW1hd2suY29tMRIwEAYDVQQLEwljb25zZW5zdXMxJzAlBgNVBAMTHmNvbnNlbnN1
+cy5zaWduLnNpbmEueXVtYXdrLmNvbTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IA
+BA56Es+57odkUY0FFyLg6hS74JPkGCKt6N+NpggliJUk/Q21dKSOTVNJ0c95PB0H
+JQh3hVo4yvSe5ymf0cSjqhWjAjAAMAoGCCqBHM9VAYN1A0kAMEYCIQC1tIIhbsgn
+fttr/QdWYi6FIa8GoVPdZapIPnzeOSkWBwIhAKcHbTuYrT3fw99Z6fNQJR6+IWfU
+g+wDhNgkrZryXgUb
+-----END CERTIFICATE-----

+ 6 - 0
node1/certs/node/consensus1/consensus1.sign.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgFC6Q0gEsWz2xIIAT
+CoDiHDzzpjW9bZg3FgTOjVnoas2gCgYIKoEcz1UBgi2hRANCAAQOehLPue6HZFGN
+BRci4OoUu+CT5BgirejfjaYIJYiVJP0NtXSkjk1TSdHPeTwdByUId4VaOMr0nucp
+n9HEo6oV
+-----END PRIVATE KEY-----

+ 14 - 0
node1/certs/node/consensus1/consensus1.tls.crt

@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICMjCCAdigAwIBAgIIDhh0NKTSOhcwCgYIKoEcz1UBg3UwgZAxCzAJBgNVBAYT
+AkNOMRIwEAYDVQQIDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjETMBEG
+A1UEChMKeXVtYXdrLmNvbTEPMA0GA1UECxMGUm9vdENBMTMwMQYDVQQDDCrmuZbl
+jZflvqHnoIHnvZHmjqfkv6Hmga/mioDmnK/mnInpmZDlhazlj7gwHhcNMjEwOTEw
+MDc0NjA3WhcNMjYwOTA5MDc0NjA3WjCBizELMAkGA1UEBhMCQ04xEjAQBgNVBAgM
+Cea5luWNl+ecgTESMBAGA1UEBwwJ6ZW/5rKZ5biCMRgwFgYDVQQKEw9zaW5hLnl1
+bWF3ay5jb20xEjAQBgNVBAsTCWNvbnNlbnN1czEmMCQGA1UEAxMdY29uc2Vuc3Vz
+LnRscy5zaW5hLnl1bWF3ay5jb20wWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQr
+tXNnEtE0RDQ4Hzv0fnJzOE0luafJTCdZ2QxqPendfRDskaZZBD8MlsydtU7XjqpM
+M8pOcypRpqswl6hHMvLTox8wHTAbBgNVHREEFDASggp5dW1hd2suY29thwR/AAAB
+MAoGCCqBHM9VAYN1A0gAMEUCIGLO7CHlFBrvLVfsdu091YuaqrHXua8k+NdSnUXR
+/ht1AiEA08PgETJp2qDdtDLP/T8Zcuk5bafD12bI0yxUGA49qZY=
+-----END CERTIFICATE-----

+ 6 - 0
node1/certs/node/consensus1/consensus1.tls.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQg/1JRyw9GElUSQXOy
+wIrpxAK8J800423gmbPCcic9yCSgCgYIKoEcz1UBgi2hRANCAAQrtXNnEtE0RDQ4
+Hzv0fnJzOE0luafJTCdZ2QxqPendfRDskaZZBD8MlsydtU7XjqpMM8pOcypRpqsw
+l6hHMvLT
+-----END PRIVATE KEY-----

+ 11 - 0
node1/certs/user/admin1/admin1.sign.crt

@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE-----
+MIIBrDCCAVOgAwIBAgIIMsKewqmT8bcwCgYIKoEcz1UBg3UwJDELMAkGA1UEBhMC
+Q04xFTATBgNVBAMTDE1vYmlsZVJvb3RDQTAeFw0yMTA5MTAwMzUwMjlaFw0yNjA5
+MDkwMzUwMjlaMIGQMQswCQYDVQQGEwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIw
+EAYDVQQHDAnplb/mspnluIIxHjAcBgNVBAoTFXl1bWF3ay5jaGFpbm1ha2VyLm9y
+ZzEOMAwGA1UECxMFYWRtaW4xKTAnBgNVBAMTIGFkbWluLnNpZ24ueXVtYXdrLmNo
+YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEBGD8U6Hmkzec
+ZLu4j90RAfnxozuPq3BWbzi0MQ7mETU3RtBClFN69caNRkFAlvhlDmhy3m6mCK4V
+AtIBvWzuF6MCMAAwCgYIKoEcz1UBg3UDRwAwRAIgVWXPeEqYnOCeOPF+aXS9dcFT
+Opl3PHJjYLVJGwg8g7kCIEu3UgTimNQoULiTw40OxV8n/O0P5TZGOjY4WEIh6RWU
+-----END CERTIFICATE-----

+ 6 - 0
node1/certs/user/admin1/admin1.sign.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQg9hD4bMKI7UBMudwt
+PuaD0/nQYuR6fK/tzeDmOIpheXGgCgYIKoEcz1UBgi2hRANCAAQEYPxToeaTN5xk
+u7iP3REB+fGjO4+rcFZvOLQxDuYRNTdG0EKUU3r1xo1GQUCW+GUOaHLebqYIrhUC
+0gG9bO4X
+-----END PRIVATE KEY-----

+ 12 - 0
node1/certs/user/admin1/admin1.tls.crt

@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE-----
+MIIBrTCCAVKgAwIBAgIIGQMxW23TL9MwCgYIKoEcz1UBg3UwJDELMAkGA1UEBhMC
+Q04xFTATBgNVBAMTDE1vYmlsZVJvb3RDQTAeFw0yMTA5MTAwMzUwMjlaFw0yNjA5
+MDkwMzUwMjlaMIGPMQswCQYDVQQGEwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIw
+EAYDVQQHDAnplb/mspnluIIxHjAcBgNVBAoTFXl1bWF3ay5jaGFpbm1ha2VyLm9y
+ZzEOMAwGA1UECxMFYWRtaW4xKDAmBgNVBAMTH2FkbWluLnRscy55dW1hd2suY2hh
+aW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAAQutORt7aEtluSM
+N0HeTG9qjXIJOSfxgD6US4QtxFYtvPE7r1UjObASi3NgnwbKYuYn7dtNAgW9MbzL
+xjt0QLvpowIwADAKBggqgRzPVQGDdQNJADBGAiEA4UF4/yTdU8qBAZz7gE2/JLjR
+NotNfGmBBcSaavDm4noCIQDKnOWO1CnQa5Ro7Mw1iiphtkRYOefEWLz6mS4G+127
+ow==
+-----END CERTIFICATE-----

+ 6 - 0
node1/certs/user/admin1/admin1.tls.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgN7LpnU+sZv5MuVEs
+bQotsIU+bYoC52XBTmwTq8pHoXagCgYIKoEcz1UBgi2hRANCAAQutORt7aEtluSM
+N0HeTG9qjXIJOSfxgD6US4QtxFYtvPE7r1UjObASi3NgnwbKYuYn7dtNAgW9MbzL
+xjt0QLvp
+-----END PRIVATE KEY-----

+ 1 - 0
node1/certs/user/client1/client1.addr

@@ -0,0 +1 @@
+DvAVmMxyEgDnKf4QqgDAdaokkPoFoTYTMTz4T2aK5NCv

+ 15 - 0
node1/certs/user/client1/client1.sign.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZzCCAg6gAwIBAgIDBXROMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjbGllbnQxLDAqBgNVBAMTI2NsaWVudDEuc2lnbi53eC1vcmcx
+LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeZFrBAF7
+ZQFkUFKDE5fvWZeoOHmT/+6zHungj+EzHXAPYbB0QGscFEeckkey2/18KLLuq+xu
+Ma/W+1FC7DMsmKNaMFgwKQYDVR0OBCIEIEaLnKNx+KWl8HUECVaSlIPieXrz/y18
+kVwkKhQqnL3yMCsGA1UdIwQkMCKAIJyvKyPKQuyTgAk96NH2QqcLZX9Cchfej++W
+mHbQ6NygMAoGCCqGSM49BAMCA0cAMEQCICgOelNRIbAN/5ceTV9i6aW0lg5iGrrE
+Lhf8I+K0bdrUAiBH03uP3ACDi2NGAF1AUXHZJVGfsDbZEsjbnClGjgSBjg==
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/user/client1/client1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIM4vdjAnKvzH9POqeR7qIGEdIsinECMtf9KKFki2jYNroAoGCCqGSM49
+AwEHoUQDQgAEeZFrBAF7ZQFkUFKDE5fvWZeoOHmT/+6zHungj+EzHXAPYbB0QGsc
+FEeckkey2/18KLLuq+xuMa/W+1FC7DMsmA==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node1/certs/user/client1/client1.tls.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZjCCAg2gAwIBAgIDDaJNMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjbGllbnQxKzApBgNVBAMTImNsaWVudDEudGxzLnd4LW9yZzEu
+Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASpxuxqncxz
+aDdcdbCi3hFmROXgsP5Tqz9gH8mhIfFDqigEQSFm56LCyYIYUXTjAJGfXwJW5VuX
+5YmTaaoST/+Co1owWDApBgNVHQ4EIgQgVZQPq8OCC0EnihzP6Cv2e+9ZubbMvMK3
+BY7ep3uv4pEwKwYDVR0jBCQwIoAgnK8rI8pC7JOACT3o0fZCpwtlf0JyF96P75aY
+dtDo3KAwCgYIKoZIzj0EAwIDRwAwRAIgYjwPSYIwCZooaD+W1x3CsZ1mzMDSAJGq
+DM4Tx/4uhCoCIHvqTzM8xuZa+tRGXa54BvQEX97xsXnOlwnWoa08LsDW
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/user/client1/client1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIDBbnsjrkAKTbrAOEjrxEjfIERWoxBQSjCfyYeEpT5LcoAoGCCqGSM49
+AwEHoUQDQgAEqcbsap3Mc2g3XHWwot4RZkTl4LD+U6s/YB/JoSHxQ6ooBEEhZuei
+wsmCGFF04wCRn18CVuVbl+WJk2mqEk//gg==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node1/certs/user/light1/light1.sign.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZzCCAgygAwIBAgIDBd/cMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVsaWdodDErMCkGA1UEAxMibGlnaHQxLnNpZ24ud3gtb3JnMS5j
+aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAwZUSoEJ411
+43Ux5xaMHbouL+A23757Rx75eEgcjES4Rtb8c1A0+Su/62woy25uMUe+HX0c89Mn
+1bnw2NE2CSijWjBYMCkGA1UdDgQiBCBo2iGtVs2wzAAo85i0Rl4DhkgKRN8GjjXo
+A+YrosH4rTArBgNVHSMEJDAigCCcrysjykLsk4AJPejR9kKnC2V/QnIX3o/vlph2
+0OjcoDAKBggqhkjOPQQDAgNJADBGAiEA+WlLAuNzPqpHcn2MuknO1Hq3/1nYLJM9
+1WtZLE6VOwECIQC3zYzjTnCgyfYE6WKD7aIW8spN4tPCxIhing+nBrQjJQ==
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/user/light1/light1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIICyWXU4pOixkuhXa2OLl1rT7LZkW7NhPDwb2ReM+LD0oAoGCCqGSM49
+AwEHoUQDQgAEDBlRKgQnjXXjdTHnFowdui4v4DbfvntHHvl4SByMRLhG1vxzUDT5
+K7/rbCjLbm4xR74dfRzz0yfVufDY0TYJKA==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node1/certs/user/light1/light1.tls.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZTCCAgugAwIBAgIDCePAMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVsaWdodDEqMCgGA1UEAxMhbGlnaHQxLnRscy53eC1vcmcxLmNo
+YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJXWYtKTH3Y5L
+Ec2B0ynlnrpTrusMj1CwS5hCkGE7C0++378xJmFuJ35u51mX+VbaTOlx3lhauSlE
+HEi5Hq+IS6NaMFgwKQYDVR0OBCIEIJcxtxs0wPqIigA2llD8wq1MPPCd00NDVqjA
+CeS51IPxMCsGA1UdIwQkMCKAIJyvKyPKQuyTgAk96NH2QqcLZX9Cchfej++WmHbQ
+6NygMAoGCCqGSM49BAMCA0gAMEUCIF7sFhc3BKZUutO3/4ydgud11ggzXYmbQZ6n
+XwnJEbRPAiEAkwMCsxOT7yHCu1AgAcYLTasx5q8NvUbUWVNZXR2oEnI=
+-----END CERTIFICATE-----

+ 5 - 0
node1/certs/user/light1/light1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIDV4nsQnMPgJDpollWcSbTIZHskA7Sl3Ez3Zn6DMR846oAoGCCqGSM49
+AwEHoUQDQgAEJXWYtKTH3Y5LEc2B0ynlnrpTrusMj1CwS5hCkGE7C0++378xJmFu
+J35u51mX+VbaTOlx3lhauSlEHEi5Hq+ISw==
+-----END EC PRIVATE KEY-----

+ 128 - 0
node1/chain.yml

@@ -0,0 +1,128 @@
+#
+# Copyright (C) BABEC. All rights reserved.
+# Copyright (C) THL A29 Limited, a Tencent company. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+log:
+  config_file: ./node1/log.yml          # config file of logger configuration.
+
+blockchain:
+  - chainId: chain1
+    genesis: ./node1/chainconfig/bc1.yml
+#  - chainId: chain2
+#    genesis: ../config/{org_path2}/chainconfig/bc2.yml
+
+node:
+  # 节点类型:full
+  type:              full
+  org_id:            sina.yumawk.com
+  priv_key_file:     ./node1/certs/node/consensus1/consensus1.sign.key
+  cert_file:         ./node1/certs/node/consensus1/consensus1.sign.crt
+  signer_cache_size: 1000
+  cert_cache_size:   1000
+  pkcs11:
+    enabled: false
+    library: # path to the so file of pkcs11 interface
+    label: # label for the slot to be used
+    password: # password to logon the HSM
+    session_cache_size: 10 # size of HSM session cache, default to 10
+    hash: "SHA256" # hash algorithm used to compute SKI
+
+net:
+  provider: LibP2P
+  listen_addr: /ip4/0.0.0.0/tcp/11301
+  seeds:
+#    - "/ip4/127.0.0.1/tcp/11301/p2p/QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh"
+
+
+  tls:
+    enabled: true
+    priv_key_file: ./node1/certs/node/consensus1/consensus1.tls.key
+    cert_file: ./node1/certs/node/consensus1/consensus1.tls.crt
+
+
+txpool:
+  max_txpool_size: 50000 # 普通交易池上限
+  max_config_txpool_size: 10 # config交易池的上限
+  full_notify_again_time: 30 # 交易池溢出后,再次通知的时间间隔(秒)
+#  pool_type: "batch"  # single/batch:single实时进入交易池,batch批量进入交易池
+#  batch_max_size: 30000 # 批次最大大小
+#  batch_create_timeout: 200 # 创建批次超时时间,单位毫秒
+
+rpc:
+  provider: grpc
+  port: 12301
+  # 检查链配置TrustRoots证书变化时间间隔,单位:s,最小值为10s
+  check_chain_conf_trust_roots_change_interval: 60
+  ratelimit:
+    # 每秒补充令牌数,取值:-1-不受限;0-默认值(10000)
+    token_per_second: -1
+    # 令牌桶大小,取值:-1-不受限;0-默认值(10000)
+    token_bucket_size: -1
+  subscriber:
+    # 历史消息订阅流控,实时消息订阅不会进行流控
+    ratelimit:
+      # 每秒补充令牌数,取值:-1-不受限;0-默认值(1000)
+      token_per_second: 100
+      # 令牌桶大小,取值:-1-不受限;0-默认值(1000)
+      token_bucket_size: 100
+  tls:
+    # TLS模式:
+    #   disable - 不启用TLS
+    #   oneway  - 单向认证
+    #   twoway  - 双向认证
+    #mode: disable
+    #mode: oneway
+    mode:           twoway
+    priv_key_file:  ./node1/certs/node/consensus1/consensus1.tls.key
+    cert_file:      ./node1/certs/node/consensus1/consensus1.tls.crt
+
+monitor:
+  enabled: true
+  port: 14321
+
+pprof:
+  enabled: false
+  port: 24321
+
+consensus:
+  raft:
+    snap_count: 10
+    # 是否异步Wal文件保存,true异步保存,false同步保存
+    async_wal_save: true
+
+storage:
+  store_path: ./data/sina.yumawk.com/ledgerData1
+  # 最小的不允许归档的区块高度
+  unarchive_block_height: 15
+  blockdb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/sina.yumawk.com/blocks
+  statedb_config:
+    provider: leveldb # leveldb/sql 二选一
+    leveldb_config: # leveldb config
+      store_path: ./data/sina.yumawk.com/state
+  #    sqldb_config: # sql config,只有provider为sql的时候才需要配置和启用这个配置
+  #      sqldb_type: mysql           #具体的sql db类型,目前支持mysql,sqlite
+  #      dsn: root:password@tcp(127.0.0.1:3306)/  #mysql的连接信息,包括用户名、密码、ip、port等,示例:root:admin@tcp(127.0.0.1:3306)/
+  historydb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/sina.yumawk.com/history
+  resultdb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/sina.yumawk.com/result
+  disable_contract_eventdb: true  #是否禁止合约事件存储功能,默认为true,如果设置为false,需要配置mysql
+  contract_eventdb_config:
+    provider: sql                 #如果开启contract event db 功能,需要指定provider为sql
+    sqldb_config:
+      sqldb_type: mysql           #contract event db 只支持mysql
+      dsn: root:123456@tcp(192.168.0.160:5000)/  #mysql的连接信息,包括用户名、密码、ip、port等,示例:root:admin@tcp(127.0.0.1:3306)/
+core:
+  evidence: false
+scheduler:
+  rwset_log: false #whether log the txRWSet map in the debug mode

+ 81 - 0
node1/chainconfig/bc1.yml

@@ -0,0 +1,81 @@
+chain_id: chain1    # 链标识
+version: v1.0.0         # 链版本
+sequence: 1             # 配置版本
+auth_type: "identity"   # 认证类型
+
+crypto:
+  hash: SHA256
+
+# 合约支持类型的配置
+contract:
+  enable_sql_support: false # 合约是否支持sql,此处若为true,则chainmaker.yml中则需配置storage.statedb_config.provider=sql,否则无法启动
+
+# 交易、区块相关配置
+block:
+  tx_timestamp_verify: true # 是否需要开启交易时间戳校验
+  tx_timeout: 600  # 交易时间戳的过期时间(秒)
+  block_tx_capacity: 100  # 区块中最大交易数
+  block_size: 10  # 区块最大限制,单位MB
+  block_interval: 2000 # 出块间隔,单位:ms
+
+# core模块
+core:
+  tx_scheduler_timeout: 10 #  [0, 60] 交易调度器从交易池拿到交易后, 进行调度的时间
+  tx_scheduler_validate_timeout: 10 # [0, 60] 交易调度器从区块中拿到交易后, 进行验证的超时时间
+
+#共识配置
+consensus:
+  # 共识类型(0-SOLO,1-TBFT,2-MBFT,3-HOTSTUFF,4-RAFT,5-DPOS,10-POW)
+  type: 1
+  # 共识节点列表,组织必须出现在trust_roots的org_id中,每个组织可配置多个共识节点,节点地址采用libp2p格式
+  # 其中node_id为chainmaker.yml中 node.cert_file证书对应的nodeid
+  nodes:
+    - org_id: "sina.yumawk.com"
+      node_id:
+        - "QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh"
+#    - org_id: "baidu.yumawk.com"
+#      node_id:
+#        - "QmbvQunyZAoy3PEVvM2ePSwHSfcFq25e3b1ZjbXW7GtA9k"
+
+# 信任组织和根证书
+trust_roots:
+  - org_id: "sina.yumawk.com"
+    root: "./node1/ca.crt"
+
+# 权限配置(只能整体添加、修改、删除)
+resource_policies:
+  - resource_name: NODE_ID_UPDATE
+    policy:
+      rule: SELF # 规则(ANY,MAJORITY...,全部大写,自动转大写)
+      org_list: # 组织名称(组织名称,区分大小写)
+      role_list: # 角色名称(role,自动转大写)
+        - admin
+  - resource_name: TRUST_ROOT_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: CERTS_FREEZE
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: INIT_CONTRACT
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: NODE_ORG_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: PERMISSION_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:

+ 34 - 0
node1/log.yml

@@ -0,0 +1,34 @@
+#
+# Copyright (C) BABEC. All rights reserved.
+# Copyright (C) THL A29 Limited, a Tencent company. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+log:
+  system: # 链日志配置
+    log_level_default: INFO       # 默认日志级别
+    log_levels:
+      core: INFO                  # 查看commit block落快信息关键字,需将core改为info级别及以下
+      net: INFO
+      vm: INFO                    # 合约中的日志,需将vm改为debug级别
+      storage: INFO               # sql模式查看sql语句,需将storage改为debug级别
+    file_path: ./log/system.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动时间,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志
+  brief:
+    log_level_default: INFO
+    file_path: ./log/brief.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动时间,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志
+  event:
+    log_level_default: INFO
+    file_path: ./log/event.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动间隔,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志

+ 17 - 0
node2/certs/ca/wx-org1.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnjCCAkSgAwIBAgIDBpdmMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzEuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT9AN8/xv4MDoP+lWco
+1EUcO+xVBunz4kFlwi/iByDbac2x+XfhF6mXtT5mdg5jV6OykqIcqInKidRSIpxy
+Vk4go4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCCcrysjykLsk4AJPejR9kKnC2V/QnIX3o/vlph20OjcoDBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcxLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0gAMEUCIQDNLV6VKCqyd1ZHQbKUaM9G
+D4m5b5WAt2EJpkp7hMz7lgIgKwkOzti6D+kTU0a3LFfbVrMtbeo//hlcS5gwfo6B
+1nU=
+-----END CERTIFICATE-----

+ 17 - 0
node2/certs/ca/wx-org2.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnzCCAkSgAwIBAgIDAubCMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzIuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARz7rY9/M1Vn96nc3GJ
+alXLMicCsvS3NBsPDUY4/HlgQzUbaPbyEnaaYZl4vWdJw6dWwpZb+ZjTO2mSsOKd
+YGsRo4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCAqlldqcDDrsQX85UGtCpftpNSijKz2Yvu5a5R0MiYyAzBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcyLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0kAMEYCIQCCcHQ/5E9QbQKgKAo9GdyV
+aUDRhVVcirV2XOPre/+j1gIhAIiOsMvTU3LzrYK8Y3AUf6n9wy3O1uwc4CLNQiLz
+oSS3
+-----END CERTIFICATE-----

+ 17 - 0
node2/certs/ca/wx-org3.chainmaker.org/ca.crt

@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICnjCCAkSgAwIBAgIDDKj1MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzMuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATLaUl/2ZknzPMNa2Kd
+QAgkbr0TzIyMnpmUa1hwFLQMpnkHfR6UE4RppgYfhfGqs4Pf2q6+ACSZWcg6E+nu
+bw4no4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCDSmEB5xMV6Qv96vQyyn8ANgb11BZFzNQM1XBFW9JRIjjBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmczLmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0gAMEUCIHHI0cfmQtkzO9Oc8rDzbIzb
+aKRTDG+bNGNjt/ZnbEFkAiEA12Ahd2jtxtzUO8egORo3dM5Szm8JOMZ79GvoQjd/
+ag4=
+-----END CERTIFICATE-----

+ 16 - 0
node2/certs/ca/wx-org4.chainmaker.org/ca.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICnDCCAkSgAwIBAgIDDdk+MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTMx
+MDkwNDA4MTg0MFowgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
+MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzQuY2hhaW5t
+YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASwLBQRBswJX7Q/eBba
+I7jyipJLqtu5WECf7cjuwV+3SMvE/YO/wrF8FX37fgvuf6iY5yzmAVXdN0rvtVPW
+w28go4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
+DgQiBCDf/6SGbIrqJ8omuljlP8QeK5lBpyuSM9TGDLDil6Ct2zBFBgNVHREEPjA8
+gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmc0LmNoYWlubWFr
+ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0YAMEMCIAf14LxN5W7T2D19q4F695H/
+DyAc+98S9NJVIr9x9ZmzAh9ApVEvTwgXs60lZMWPuA6zM+Wr5oueUEHNggBZk4zD
+-----END CERTIFICATE-----

+ 1 - 0
node2/certs/node/common1/common1.nodeid

@@ -0,0 +1 @@
+QmdosSAuZMrXtcbJ5xtkfFgZazTFCDXdaz8XneTvTiXiWP

+ 16 - 0
node2/certs/node/common1/common1.sign.crt

@@ -0,0 +1,16 @@
+-----BEGIN CERTIFICATE-----
+MIICmjCCAkGgAwIBAgIDB7r3MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmcy
+LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwern2a9N
+TABtS2Ns1yrUEGwE/iCVxSrbloqXAjKJgxPaL0lyNhxUP3VjtcDnD0otYTIVYA3l
+k9MOu2YFOUQTX6OBjDCBiTApBgNVHQ4EIgQgy7BT3zgIkJAOa2xi9VOsGTpxn6Wh
+/5z9cNQXzoD+lXUwKwYDVR0jBCQwIoAgKpZXanAw67EF/OVBrQqX7aTUooys9mL7
+uWuUdDImMgMwLwYLgSdYj2QLHo9kCwQEIDFkNjE4MTI1MjdkNzQ5N2M4NWQ0ZGI1
+NDBhN2I5ZmMyMAoGCCqGSM49BAMCA0cAMEQCIClZSbwbpyhvW4oDuljX9kv+gEj2
+Hu4g2DqG+cm3cX5JAiAL6YGFnaxW2PryaTk3+iisQV+b6Z3VVko73AsTASzeQw==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/node/common1/common1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIFQEnCBAx4jF1auKw0h3KJgJzSR+mcpVji2HojTgPfBboAoGCCqGSM49
+AwEHoUQDQgAEwern2a9NTABtS2Ns1yrUEGwE/iCVxSrbloqXAjKJgxPaL0lyNhxU
+P3VjtcDnD0otYTIVYA3lk9MOu2YFOUQTXw==
+-----END EC PRIVATE KEY-----

+ 18 - 0
node2/certs/node/common1/common1.tls.crt

@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC6zCCApCgAwIBAgIDAXrfMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzIu
+Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQ1flvM0OyM
+pXAozmV4Ckti3udRAN9mo45LQ7XqdFIhAepAFCt4HOxfoRx9X28GJFnbKqvqKuex
+Yi8QES4eASkbo4HcMIHZMCkGA1UdDgQiBCCNqkXjO2/zRC2y+Y3FON/wlfmI/+s3
+kdmzVRAirVSO0TArBgNVHSMEJDAigCAqlldqcDDrsQX85UGtCpftpNSijKz2Yvu5
+a5R0MiYyAzBOBgNVHREERzBFgg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0giJj
+b21tb24xLnRscy53eC1vcmcyLmNoYWlubWFrZXIub3JnhwR/AAABMC8GC4EnWI9k
+Cx6PZAsEBCAxZDYxODEyNTI3ZDc0OTdjODVkNGRiNTQwYTdiOWZjMjAKBggqhkjO
+PQQDAgNJADBGAiEA7/nJAp8rbrfYvsqHzhew48fsd2fERVIhbRKbuVpaRYMCIQCF
+1baVWp6/oAUz0s2fCINNTmLCMJhzOMrZhnJ1mlhwbw==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/node/common1/common1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIIWiGuTyW9UFAGnmqXtN73SXySZJSy24WduLZQTM3eOYoAoGCCqGSM49
+AwEHoUQDQgAENX5bzNDsjKVwKM5leApLYt7nUQDfZqOOS0O16nRSIQHqQBQreBzs
+X6EcfV9vBiRZ2yqr6irnsWIvEBEuHgEpGw==
+-----END EC PRIVATE KEY-----

+ 1 - 0
node2/certs/node/consensus1/consensus1.nodeid

@@ -0,0 +1 @@
+QmbvQunyZAoy3PEVvM2ePSwHSfcFq25e3b1ZjbXW7GtA9k

+ 14 - 0
node2/certs/node/consensus1/consensus1.sign.crt

@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICGTCCAb6gAwIBAgIIarvSryfWz6AwCgYIKoEcz1UBg3UwgZAxCzAJBgNVBAYT
+AkNOMRIwEAYDVQQIDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjETMBEG
+A1UEChMKeXVtYXdrLmNvbTEPMA0GA1UECxMGUm9vdENBMTMwMQYDVQQDDCrmuZbl
+jZflvqHnoIHnvZHmjqfkv6Hmga/mioDmnK/mnInpmZDlhazlj7gwHhcNMjEwOTEw
+MDc0NjA3WhcNMjYwOTA5MDc0NjA3WjCBjjELMAkGA1UEBhMCQ04xEjAQBgNVBAgM
+Cea5luWNl+ecgTESMBAGA1UEBwwJ6ZW/5rKZ5biCMRkwFwYDVQQKExBiYWlkdS55
+dW1hd2suY29tMRIwEAYDVQQLEwljb25zZW5zdXMxKDAmBgNVBAMTH2NvbnNlbnN1
+cy5zaWduLmJhaWR1Lnl1bWF3ay5jb20wWTATBgcqhkjOPQIBBggqgRzPVQGCLQNC
+AATdqKXlYpPvjSG/cb5TkUCbDH0iWhNVH3FPLQ34EmqT0ZxMR12bD0yq0Soqw8Pb
+xAceEffH60Oj5/EYLpJ32O74owIwADAKBggqgRzPVQGDdQNJADBGAiEAvhGoA8ex
+w6lMPyDmKbvrliVzo080AUF6Yj9JC4U3ptoCIQC/TmGP/v/bG7sLdh4IgB0V1ljf
+/r2Br7sZN4m0FPfoGA==
+-----END CERTIFICATE-----

+ 6 - 0
node2/certs/node/consensus1/consensus1.sign.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgL33wo/KsDWMkajbJ
+v9yWXQ855Za08FQV9WLE7FwCVPqgCgYIKoEcz1UBgi2hRANCAATdqKXlYpPvjSG/
+cb5TkUCbDH0iWhNVH3FPLQ34EmqT0ZxMR12bD0yq0Soqw8PbxAceEffH60Oj5/EY
+LpJ32O74
+-----END PRIVATE KEY-----

+ 14 - 0
node2/certs/node/consensus1/consensus1.tls.crt

@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICNjCCAdugAwIBAgIJAJjKrh6E6nVHMAoGCCqBHM9VAYN1MIGQMQswCQYDVQQG
+EwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzAR
+BgNVBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW
+5Y2X5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MB4XDTIxMDkx
+MDA3NDYwN1oXDTI2MDkwOTA3NDYwN1owgY0xCzAJBgNVBAYTAkNOMRIwEAYDVQQI
+DAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjEZMBcGA1UEChMQYmFpZHUu
+eXVtYXdrLmNvbTESMBAGA1UECxMJY29uc2Vuc3VzMScwJQYDVQQDEx5jb25zZW5z
+dXMudGxzLmJhaWR1Lnl1bWF3ay5jb20wWTATBgcqhkjOPQIBBggqgRzPVQGCLQNC
+AAQvByw0VuW6BJdN+Qd0os5ZEwinWzqIx0PvjAUTiUgWiV3dFZ7WtzyIAbZj4Mya
+TerK8qAjsLwCvyAJzXtJ6R4dox8wHTAbBgNVHREEFDASggp5dW1hd2suY29thwR/
+AAABMAoGCCqBHM9VAYN1A0kAMEYCIQCv7ujsPy56bx+Puwx//7Pz75v0XBWpjIjW
+gyBNoS9m5AIhAPvyi/ZLtRfZZ7l3plvaItWaEAU1QRsJuaIFCk/O98Ld
+-----END CERTIFICATE-----

+ 6 - 0
node2/certs/node/consensus1/consensus1.tls.key

@@ -0,0 +1,6 @@
+-----BEGIN PRIVATE KEY-----
+MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgIPRWEH9y2IQdmg0d
+7N9quWeOTZE5dMbStQm585YWKcagCgYIKoEcz1UBgi2hRANCAAQvByw0VuW6BJdN
++Qd0os5ZEwinWzqIx0PvjAUTiUgWiV3dFZ7WtzyIAbZj4MyaTerK8qAjsLwCvyAJ
+zXtJ6R4d
+-----END PRIVATE KEY-----

+ 15 - 0
node2/certs/user/admin1/admin1.sign.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZzCCAgygAwIBAgIDDD6/MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVhZG1pbjErMCkGA1UEAxMiYWRtaW4xLnNpZ24ud3gtb3JnMi5j
+aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCnDwvPm02ds
+HyvUKKzx4sRWFUuY3Cp/j8FQbO2MDxOKkhJD5d8m06gVhst5m9fxaYDmQCKYFe1v
+7t/PTAlzeGmjWjBYMCkGA1UdDgQiBCD1+afAb7D3zp4gPId+aFg9lUbWnoztSr9v
+cCb1HtEE4jArBgNVHSMEJDAigCAqlldqcDDrsQX85UGtCpftpNSijKz2Yvu5a5R0
+MiYyAzAKBggqhkjOPQQDAgNJADBGAiEAyQZZq7y1+jnDGZgvjzB40gqtaJ92LqWd
+KsVypx1k/1ACIQCTgyj6EC6IEUIkLBCCrqkDtvgNlwqzEDKJw/BWbqfgyQ==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/admin1/admin1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEINwYNMVRCEWwOaCReX+esCu+UHccaHBExyxTZgDp5ZHGoAoGCCqGSM49
+AwEHoUQDQgAEKcPC8+bTZ2wfK9QorPHixFYVS5jcKn+PwVBs7YwPE4qSEkPl3ybT
+qBWGy3mb1/FpgOZAIpgV7W/u389MCXN4aQ==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node2/certs/user/admin1/admin1.tls.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZjCCAgugAwIBAgIDBVyjMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVhZG1pbjEqMCgGA1UEAxMhYWRtaW4xLnRscy53eC1vcmcyLmNo
+YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEicDE/nKA1ccM
+H2MsKb9BuEKRUcatSbX7I6cwuC16SLOYqlAa277EGl3/cl+VeW+/IUxMFReIP4x2
+49IWPQh3GaNaMFgwKQYDVR0OBCIEIJ9lzTNKygodamacIeqC9JW3RHyVsIoLIxAZ
+3hqvqMf2MCsGA1UdIwQkMCKAICqWV2pwMOuxBfzlQa0Kl+2k1KKMrPZi+7lrlHQy
+JjIDMAoGCCqGSM49BAMCA0kAMEYCIQDZRcpGySbkUU+qvsFIZJopr4pinoPYpOGs
+ir4FOKA3AwIhAKqB12+ITkWpSFfB9B/JeJh7AKyUsZcNKayOaS80CxlQ
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/admin1/admin1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIKRLeRY9+Jqa8z9ZM0WWuh8SunnWWGpyJiJDvKadoD6+oAoGCCqGSM49
+AwEHoUQDQgAEicDE/nKA1ccMH2MsKb9BuEKRUcatSbX7I6cwuC16SLOYqlAa277E
+Gl3/cl+VeW+/IUxMFReIP4x249IWPQh3GQ==
+-----END EC PRIVATE KEY-----

+ 1 - 0
node2/certs/user/client1/client1.addr

@@ -0,0 +1 @@
+6SV6kpSsNyaUCAGNVqSHtXBBGBVPyQyG5NiU21NeL57Z

+ 15 - 0
node2/certs/user/client1/client1.sign.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICaDCCAg6gAwIBAgIDBEQYMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjbGllbnQxLDAqBgNVBAMTI2NsaWVudDEuc2lnbi53eC1vcmcy
+LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPOZPu7TT
+QbIptJl+uBFGKm1BsmO35fRmd46pZAlZ2pmK2zWlSJg2pmzQV0mGtFzIxDxbPZ++
+z5I0kbJ5MDFGlqNaMFgwKQYDVR0OBCIEIDwoaVR3+bqpx6+0pDD4zzed91ND/N8a
+a5G9Y04NnAvAMCsGA1UdIwQkMCKAICqWV2pwMOuxBfzlQa0Kl+2k1KKMrPZi+7lr
+lHQyJjIDMAoGCCqGSM49BAMCA0gAMEUCIQDUa2j7BbM0Q+G7BOCiHV0bt8+blwPM
+quGH6wnlVZ65xgIgPxa6Pimxk7moB6xq/04/2cuHi7RSkvvdnZyCxYWxP6A=
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/client1/client1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIE3pvzY50IyVPqHPcjwhh4L+T+VIQcYAurbso8ynbWVboAoGCCqGSM49
+AwEHoUQDQgAEPOZPu7TTQbIptJl+uBFGKm1BsmO35fRmd46pZAlZ2pmK2zWlSJg2
+pmzQV0mGtFzIxDxbPZ++z5I0kbJ5MDFGlg==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node2/certs/user/client1/client1.tls.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZzCCAg2gAwIBAgIDBiFyMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ8wDQYDVQQLEwZjbGllbnQxKzApBgNVBAMTImNsaWVudDEudGxzLnd4LW9yZzIu
+Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQHVg2gExpr
+NoZF8OUdQGeHPlPeEePjyHNElODWVoeJeoH3dH1DIm3+S4U6TXQJZKwH9saihhkk
+x4k0tZYVWYKeo1owWDApBgNVHQ4EIgQgl5TmSOe8tayOGBeskTWbS7NLh0hTIgyL
+cuxcNUne7KcwKwYDVR0jBCQwIoAgKpZXanAw67EF/OVBrQqX7aTUooys9mL7uWuU
+dDImMgMwCgYIKoZIzj0EAwIDSAAwRQIhAKH9/Ms0l+eaLqpGbDT1Ad0YuFudCm7N
+g+qvI8FB0KBLAiAzpNSzqSqDzgbls7TEu5ShvwIj/YGwGaQ1uTFmQKEMpg==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/client1/client1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIFagjiYQC39lkSkgvBZTdfjEQuOor5UsVrS6+dxFulH4oAoGCCqGSM49
+AwEHoUQDQgAEB1YNoBMaazaGRfDlHUBnhz5T3hHj48hzRJTg1laHiXqB93R9QyJt
+/kuFOk10CWSsB/bGooYZJMeJNLWWFVmCng==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node2/certs/user/light1/light1.sign.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZzCCAgygAwIBAgIDANaYMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVsaWdodDErMCkGA1UEAxMibGlnaHQxLnNpZ24ud3gtb3JnMi5j
+aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBLoc2pnHTEF
+pqTquA2G9gThBLTz/C31uBXrpX6aGRodEMm6PwP3KryrraqrpAh0y/nFMtyTJ6fx
+BMYLp+MA8iGjWjBYMCkGA1UdDgQiBCDW40WPIdxBlKre47DJCZhNQNorf7K+MxjF
+nCZi5bqorTArBgNVHSMEJDAigCAqlldqcDDrsQX85UGtCpftpNSijKz2Yvu5a5R0
+MiYyAzAKBggqhkjOPQQDAgNJADBGAiEA4DJCBJpHJ0KwznmXD+YzrPoZTmH/ZZkl
+aK/1xW+y170CIQCWZmMRM+ez4LS7X307nSkwlxBEqrxM08HliNy27o1Wqg==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/light1/light1.sign.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIIO6xT7ef9fU5kYHWLTX4VVTtwxUYalSRqLqda3O48utoAoGCCqGSM49
+AwEHoUQDQgAEEuhzamcdMQWmpOq4DYb2BOEEtPP8LfW4FeulfpoZGh0Qybo/A/cq
+vKutqqukCHTL+cUy3JMnp/EExgun4wDyIQ==
+-----END EC PRIVATE KEY-----

+ 15 - 0
node2/certs/user/light1/light1.tls.crt

@@ -0,0 +1,15 @@
+-----BEGIN CERTIFICATE-----
+MIICZDCCAgugAwIBAgIDBGmHMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
+MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
+b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
+ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIxMDkwNjA4MTg0MFoXDTI2
+MDkwNTA4MTg0MFowgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
+DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
+MQ4wDAYDVQQLEwVsaWdodDEqMCgGA1UEAxMhbGlnaHQxLnRscy53eC1vcmcyLmNo
+YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETsxH8vnJh4tA
+562ta1pOdJxwNxTbAV9gaggviYUVBiqotq1d01XtV20JVN8opsCjqFOAnP6yXlaU
+X0hgvt+YCaNaMFgwKQYDVR0OBCIEIHvuLuoxXgneH96dx8GlUNg5yHSpJcdcthE1
+ASgrIVx5MCsGA1UdIwQkMCKAICqWV2pwMOuxBfzlQa0Kl+2k1KKMrPZi+7lrlHQy
+JjIDMAoGCCqGSM49BAMCA0cAMEQCIEI8UEwJeaAqkdBhncUXhWEhcfveSWA3UWmX
+PrFcV0ehAiA2jAeVPH96wvPVK1dewA9Wjmi1hgiQgpLIeBe/0pyQkQ==
+-----END CERTIFICATE-----

+ 5 - 0
node2/certs/user/light1/light1.tls.key

@@ -0,0 +1,5 @@
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIONAId8YYjjxe7kTxB6Ua8wKsACjzpuIgOU6hJXWx0pioAoGCCqGSM49
+AwEHoUQDQgAETsxH8vnJh4tA562ta1pOdJxwNxTbAV9gaggviYUVBiqotq1d01Xt
+V20JVN8opsCjqFOAnP6yXlaUX0hgvt+YCQ==
+-----END EC PRIVATE KEY-----

+ 81 - 0
node2/chainconfig/bc1.yml

@@ -0,0 +1,81 @@
+chain_id: chain1    # 链标识
+version: v1.0.0         # 链版本
+sequence: 1             # 配置版本
+auth_type: "identity"   # 认证类型
+
+crypto:
+  hash: SHA256
+
+# 合约支持类型的配置
+contract:
+  enable_sql_support: false # 合约是否支持sql,此处若为true,则chainmaker.yml中则需配置storage.statedb_config.provider=sql,否则无法启动
+
+# 交易、区块相关配置
+block:
+  tx_timestamp_verify: true # 是否需要开启交易时间戳校验
+  tx_timeout: 600  # 交易时间戳的过期时间(秒)
+  block_tx_capacity: 100  # 区块中最大交易数
+  block_size: 10  # 区块最大限制,单位MB
+  block_interval: 2000 # 出块间隔,单位:ms
+
+# core模块
+core:
+  tx_scheduler_timeout: 10 #  [0, 60] 交易调度器从交易池拿到交易后, 进行调度的时间
+  tx_scheduler_validate_timeout: 10 # [0, 60] 交易调度器从区块中拿到交易后, 进行验证的超时时间
+
+#共识配置
+consensus:
+  # 共识类型(0-SOLO,1-TBFT,2-MBFT,3-HOTSTUFF,4-RAFT,5-DPOS,10-POW)
+  type: 1
+  # 共识节点列表,组织必须出现在trust_roots的org_id中,每个组织可配置多个共识节点,节点地址采用libp2p格式
+  # 其中node_id为chainmaker.yml中 node.cert_file证书对应的nodeid
+  nodes:
+    - org_id: "sina.yumawk.com"
+      node_id:
+        - "QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh"
+#    - org_id: "baidu.yumawk.com"
+#      node_id:
+#        - "QmbvQunyZAoy3PEVvM2ePSwHSfcFq25e3b1ZjbXW7GtA9k"
+
+# 信任组织和根证书
+trust_roots:
+  - org_id: "sina.yumawk.com"
+    root: "./node1/ca.crt"
+
+# 权限配置(只能整体添加、修改、删除)
+resource_policies:
+  - resource_name: NODE_ID_UPDATE
+    policy:
+      rule: SELF # 规则(ANY,MAJORITY...,全部大写,自动转大写)
+      org_list: # 组织名称(组织名称,区分大小写)
+      role_list: # 角色名称(role,自动转大写)
+        - admin
+  - resource_name: TRUST_ROOT_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: CERTS_FREEZE
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: INIT_CONTRACT
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: NODE_ORG_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:
+        - admin
+  - resource_name: PERMISSION_ADD
+    policy:
+      rule: ANY
+      org_list:
+      role_list:

+ 123 - 0
node2/chainmaker.yml

@@ -0,0 +1,123 @@
+
+log:
+  config_file: ./node2/log.yml          # config file of logger configuration.
+
+blockchain:
+  - chainId: chain1
+    genesis: ./node2/chainconfig/bc1.yml
+#  - chainId: chain2
+#    genesis: ../config/{org_path2}/chainconfig/bc2.yml
+#  - chainId: chain3
+#    genesis: ../config/{org_path3}/chainconfig/bc3.yml
+#  - chainId: chain4
+#    genesis: ../config/{org_path4}/chainconfig/bc4.yml
+
+node:
+  # 节点类型:full
+  type:              full
+  org_id:            baidu.yumawk.com
+  priv_key_file:     ./node2/certs/node/consensus1/consensus1.sign.key
+  cert_file:         ./node2/certs/node/consensus1/consensus1.sign.crt
+  signer_cache_size: 1000
+  cert_cache_size:   1000
+  pkcs11:
+    enabled: false
+    library: # path to the so file of pkcs11 interface
+    label: # label for the slot to be used
+    password: # password to logon the HSM
+    session_cache_size: 10 # size of HSM session cache, default to 10
+    hash: "SHA256" # hash algorithm used to compute SKI
+
+net:
+  provider: LibP2P
+  listen_addr: /ip4/0.0.0.0/tcp/11302
+
+  seeds:
+    - "/ip4/124.71.218.7/tcp/11301/p2p/QmVHR2DVso55J5ofymsWyVzma9pY2Z2JzsagpASThN1Jsh"
+
+  tls:
+    enabled: true
+    priv_key_file: ./node2/certs/node/consensus1/consensus1.tls.key
+    cert_file: ./node2/certs/node/consensus1/consensus1.tls.crt
+
+
+txpool:
+  max_txpool_size: 50000 # 普通交易池上限
+  max_config_txpool_size: 10 # config交易池的上限
+  full_notify_again_time: 30 # 交易池溢出后,再次通知的时间间隔(秒)
+
+rpc:
+  provider: grpc
+  port: 12302
+  # 检查链配置TrustRoots证书变化时间间隔,单位:s,最小值为10s
+  check_chain_conf_trust_roots_change_interval: 60
+  ratelimit:
+    # 每秒补充令牌数,取值:-1-不受限;0-默认值(10000)
+    token_per_second: -1
+    # 令牌桶大小,取值:-1-不受限;0-默认值(10000)
+    token_bucket_size: -1
+  subscriber:
+    # 历史消息订阅流控,实时消息订阅不会进行流控
+    ratelimit:
+      # 每秒补充令牌数,取值:-1-不受限;0-默认值(1000)
+      token_per_second: 100
+      # 令牌桶大小,取值:-1-不受限;0-默认值(1000)
+      token_bucket_size: 100
+  tls:
+    # TLS模式:
+    #   disable - 不启用TLS
+    #   oneway  - 单向认证
+    #   twoway  - 双向认证
+    #mode: disable
+    #mode: oneway
+    mode:           twoway
+    priv_key_file:  ./node2/certs/node/consensus1/consensus1.tls.key
+    cert_file:      ./node2/certs/node/consensus1/consensus1.tls.crt
+
+monitor:
+  enabled: true
+  port: 14322
+
+pprof:
+  enabled: false
+  port: 24322
+
+consensus:
+  raft:
+    snap_count: 10
+    # 是否异步Wal文件保存,true异步保存,false同步保存
+    async_wal_save: true
+
+storage:
+  store_path: ./data/baidu.yumawk.com/ledgerData1
+  # 最小的不允许归档的区块高度
+  unarchive_block_height: 15
+  blockdb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/baidu.yumawk.com/blocks
+  statedb_config:
+    provider: leveldb # leveldb/sql 二选一
+    leveldb_config: # leveldb config
+      store_path: ./data/baidu.yumawk.com/state
+  #    sqldb_config: # sql config,只有provider为sql的时候才需要配置和启用这个配置
+  #      sqldb_type: mysql           #具体的sql db类型,目前支持mysql,sqlite
+  #      dsn: root:password@tcp(127.0.0.1:3306)/  #mysql的连接信息,包括用户名、密码、ip、port等,示例:root:admin@tcp(127.0.0.1:3306)/
+  historydb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/baidu.yumawk.com/history
+  resultdb_config:
+    provider: leveldb
+    leveldb_config:
+      store_path: ./data/baidu.yumawk.com/result
+  disable_contract_eventdb: true  #是否禁止合约事件存储功能,默认为true,如果设置为false,需要配置mysql
+  contract_eventdb_config:
+    provider: sql                 #如果开启contract event db 功能,需要指定provider为sql
+    sqldb_config:
+      sqldb_type: mysql           #contract event db 只支持mysql
+      dsn: root:password@tcp(127.0.0.1:3306)/  #mysql的连接信息,包括用户名、密码、ip、port等,示例:root:admin@tcp(127.0.0.1:3306)/
+core:
+  evidence: false
+scheduler:
+  rwset_log: false #whether log the txRWSet map in the debug mode

+ 34 - 0
node2/log.yml

@@ -0,0 +1,34 @@
+#
+# Copyright (C) BABEC. All rights reserved.
+# Copyright (C) THL A29 Limited, a Tencent company. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+log:
+  system: # 链日志配置
+    log_level_default: INFO       # 默认日志级别
+    log_levels:
+      core: INFO                  # 查看commit block落快信息关键字,需将core改为info级别及以下
+      net: INFO
+      vm: INFO                    # 合约中的日志,需将vm改为debug级别
+      storage: INFO               # sql模式查看sql语句,需将storage改为debug级别
+    file_path: ./log/system.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动时间,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志
+  brief:
+    log_level_default: INFO
+    file_path: ./log/brief.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动时间,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志
+  event:
+    log_level_default: INFO
+    file_path: ./log/event.log
+    max_age: 365                  # 日志最长保存时间,单位:天
+    rotation_time: 1              # 日志滚动间隔,单位:小时
+    log_in_console: true         # 是否展示日志到终端,仅限于调试使用
+    show_color: true              # 是否打印颜色日志

+ 269 - 0
readme.md

@@ -0,0 +1,269 @@
+# 湖南御码区块链1.0.0
+
+## 关于
+
+湖南御码网控信息技术有限公司,注册资金1000万元,公司总部位于长沙市高新区,是一家拥有多项自主知识产权的高新技术研发型企业,同时也是一家专业的密码应用综合解决方案提供商,公司集结了一大批经验丰富的密码应用从业专家,致力于打造以国产密码技术为核心的新网络安全基础设施,构建自主可控的网络安全体系,为密码应用安全性评估及技术改造提供整体解决方案。公司以技术自主创新为驱动力,依据国家各项要求及规范,围绕国产密码算法研发了一系列产品,主要包括:密码服务中台管理系统、密码安全中间件软件、移动认证APP软件、统一身份认证平台、终端安全管理软件等,面向全国用户提供密码综合应用服务,为国家信息安全建设贡献力量。
+
+[湖南御码网控信息技术有限公司](http://yumawk.com)
+
+## 系统架构
+[基于长安链1.2.5版本开发](https://docs.chainmaker.org.cn/v1.2.5/html/index.html)
+
+## 共识节点(consensus node)
+
+参与区块链网络中共识投票、交易执行、区块验证和记账的节点。
+
+## 同步节点 (sync node)
+见证节点,参与区块和交易同步、区块验证,交易执行,并记录完整账本数据,但不参与共识投票。
+
+## 轻节点 (light node)
+参与同步和校验区块头信息、验证交易存在性的节点。
+
+## 共识算法
+| 算法     | 节点数量 | |
+| -------- | ---- | ------------------------------------------------ |
+| Raft     | 2n+1 | 联盟链中不需要考虑恶意节点,且需要性能较高的场景 |
+| TBFT     | 3n+1 | 联盟链中需要考虑恶意节点的场景                   |
+| HotStuff | 3n+1 | 联盟链中需要考虑恶意节点的场景                   |
+
+## 智能合约
+
+支持使用C++、Go、Rust、Solidity进行智能合约开发,每种开发语言实现的合约由不同的虚拟机执行,在将合约发布到链上时通过Runtime Type来指定虚拟机类型。
+
+## 共识网络
+支持国密通信
+网络模块参考https://libp2p.io/
+
+## 产品演示
+
+**演示地址**
+[http://chain.yumawk.com](http://chain.yumawkcom)
+
+## 区块链主链(1.0.0)
+
+### 产品部署
+
+**配置文件**
+
+> 链配置文件 [node1/chainconfig/bc1.yml]
+
+主要配置项 
+
+consensus.nodes #共识节点配置
+
+trust_roots #信任组织和根证书
+
+同一个链bc1.yml需要保持一致,新节点的加入需通过区块链管理平台,否则区块验证不通过
+
+主配置文件 [node1/chain.yml]
+
+> 主要配置项
+
+node.priv_key_file #共识节点签名证书私钥配置
+
+cert_file #共识节点签名证书配置
+
+net.listen_addr #节点地址配置,不同的节点IP和端口不一样
+
+net.seeds #引导节点地址配置,需要能连通的已启动节点地址
+
+net.tls #共识节点通信TLS证书配置,支持国密
+
+rpc.tls #SDK调用TLS证书配置,支持国密
+
+storage *store_path #区块存储本地路径配置
+
+**启动命令**
+
+> WINDOWS
+
+chain_windows_x86_1.0.0.exe start -c ./node1/chain.yml
+
+> LINUX
+>
+
+赋予执行权限 chmod +x chain_linux_x86_1.0.0
+
+export LD_LIBRARY_PATH=$PWD
+
+export WASMER_BACKTRACE=1
+
+chain_linux_x86_1.0.0 start -c ./node1/chain.yml
+
+后台运行 nohup ./chain_linux_x86_1.0.0 start -c node1/chain.yml > panic.log &
+
+服务管理Shell脚本[TODO]
+
+Docker容器[TODO]
+
+### 新增共识节点
+
+1. 通过管理平台签发节点证书
+
+   > 客户端证书有获取链的基本信息,调用合约,获取区块信息权限
+   >
+   > 管理员证书有客户端证书所有权限,额外有添加根证书,部署合约,新增共识节点权限
+   >
+   > 节点名称如果为 `node2` 签发出来的组织名称为node2.yumawk.com
+
+2. 根据签发的节点证书配置bc1.yml和chain.yml,启动区块链node2
+
+3. 通过管理平台配置链信息,连接区块链
+
+4. 通过管理平台配置客户端证书和管理员证书
+
+5. 通过管理平台信任根证书
+
+6. 通过管理平台添加共识节点
+
+7. 多节点产生共识
+
+### 合约调用
+
+1. 通过管理平台添加合约
+
+   > 存证合约虚拟机文件 [wasm/fact_1.0.0.wasm]
+
+2. 支持C++、Go、Rust、Solidity开发语言进行智能合约开发
+
+3. GO语言SDK 
+
+   > https://git.chainmaker.org.cn/chainmaker/chainmaker-sdk-go/-/tags/v1.2.5
+
+4. JAVA语言SDK
+
+   > https://git.chainmaker.org.cn/chainmaker/chainmaker-sdk-java/-/tags/v1.2.4
+
+其他合约开发[TODO]
+
+### 代码调用示例
+
+创建节点
+
+``` go
+node := chainmaker_sdk_go.NewNodeConfig(
+    // 节点地址,格式:127.0.0.1:12301
+    chainmaker_sdk_go.WithNodeAddr(nodeAddr),
+    // 节点连接数
+    chainmaker_sdk_go.WithNodeConnCnt(connCnt),
+    // 节点是否启用TLS认证
+    chainmaker_sdk_go.WithNodeUseTLS(true),
+    // 根证书内容,支持多个
+    chainmaker_sdk_go.WithNodeCACerts(caCertBase64),
+    // TLS Hostname
+    chainmaker_sdk_go.WithNodeTLSHostName(tlsHostName),
+)
+```
+
+创建客户端连接
+
+```go
+if node == nil {
+    // 创建节点
+    node = createNodeWithCaCert(nodeAddr, connCnt)
+}
+chainClient, err := chainmaker_sdk_go.NewChainClient(
+    // 设置归属组织
+    chainmaker_sdk_go.WithChainClientOrgId("sina.yumawk.com"),
+    // 设置链ID
+    chainmaker_sdk_go.WithChainClientChainId(chainId),
+    // 设置客户端用户私钥路径
+    chainmaker_sdk_go.WithUserKeyFilePath(fmt.Sprintf(userKeyPath, orgId)),
+    // 设置客户端用户证书
+    chainmaker_sdk_go.WithUserCrtFilePath(fmt.Sprintf(userCrtPath, orgId)),
+    // 添加节点1
+    chainmaker_sdk_go.AddChainClientNodeConfig(node),
+    // 添加节点2
+    //AddChainClientNodeConfig(node1),
+)
+if err != nil {
+    return nil, err
+}
+//启用证书压缩(开启证书压缩可以减小交易包大小,提升处理性能)
+err = chainClient.EnableCertHash()
+if err != nil {
+    return nil, err
+}
+```
+
+调用合约[save]
+
+```go
+client, err := createClientWithCaCerts()
+curTime := fmt.Sprintf("%d", chainmaker_sdk_go.CurrentTimeSeconds())
+fileHash := uuid.GetUUID()
+params := map[string]string{
+    "time":      curTime,
+    "file_hash": fileHash,
+    "file_name": fmt.Sprintf("file_%s", curTime),
+}
+resp, err := client.InvokeContract(contractName, "save", "", params, -1, true)
+if err != nil {
+    panic(err)
+}
+fmt.Println(resp)
+```
+
+调用合约[find_by_file_hash]
+
+``` go
+client, err := createClientWithCaCerts()
+fileHash := "5e5eced9b0204c9d891c81aa9d41a209"
+params := map[string]string{
+    "file_hash": fileHash,
+}
+resp, err := client.InvokeContract(contractName, "find_by_file_hash", "", params, -1, true)
+if err != nil {
+    panic(err)
+}
+fmt.Println(resp)
+```
+
+## 区块链管理平台(1.0.0)
+
+### 产品部署
+
+配置文件[conf/app.conf]
+
+```ini
+appname = manager
+runmode = prod
+
+[dev]
+httpport = 80
+mysql.dataSource = root:xxxxxx@tcp(127.0.0.1:5000)/block_chain?charset=utf8mb4
+[prod]
+httpport = 80
+mysql.dataSource = root:xxxxxx@tcp(172.17.0.1:5000)/block_chain?charset=utf8mb4
+```
+
+dev为开发模式,prod为线上模式
+
+数据库脚本[sql/block_chain.sql]
+
+> LINUX
+
+赋予执行权限 chmod +x chain_manager_1.0.0
+
+后台运行 nohup ./chain_manager > panic.log &
+
+服务管理Shell脚本[TODO]
+
+Docker容器[TODO]
+
+### 产品截图
+
+<img src=".\images\image-20210929150144239.png" alt="image-20210929150519773"/>
+<img src=".\images\image-20210929150626206.png" alt="image-20210929150626206"  />
+
+![image-20210929150915040](.\images\image-20210929150915040.png)
+
+![image-20210929150935269](.\images\image-20210929150935269.png)
+
+![image-20210929150955542](.\images\image-20210929150955542.png)
+
+![image-20210929151012773](.\images\image-20210929151012773.png)
+
+![image-20210929151211981](.\images\image-20210929151211981.png)
+
+![image-20210929151234739](.\images\image-20210929151234739.png)

+ 84 - 0
sql/block_chain.sql

@@ -0,0 +1,84 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 御码网控
+ Source Server Type    : MySQL
+ Source Server Version : 50734
+ Source Host           : 124.71.218.7:5000
+ Source Schema         : block_chain
+
+ Target Server Type    : MySQL
+ Target Server Version : 50734
+ File Encoding         : 65001
+
+ Date: 30/09/2021 10:06:04
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for config
+-- ----------------------------
+DROP TABLE IF EXISTS `config`;
+CREATE TABLE `config`  (
+  `config_id` int(11) NOT NULL AUTO_INCREMENT,
+  `config_key` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `config_value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
+  `create_time` datetime(0) NULL DEFAULT NULL,
+  PRIMARY KEY (`config_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of config
+-- ----------------------------
+INSERT INTO `config` VALUES (1, 'AdminKey', '-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgLYSHPwnT+7IZftdv\nZqnnfvXiac40HcLo+Z5fzv8FFAGgCgYIKoEcz1UBgi2hRANCAARkKiqjDT0nOG0B\nJWd7Z0BFuaTaxUv9A3nE/5/fRMtRxI4rox/HOqrs9DVlBIvcEuEI4XSaVjicrK4H\nVi5QUbWd\n-----END PRIVATE KEY-----\n', NULL);
+INSERT INTO `config` VALUES (2, 'AdminCertificate', '-----BEGIN CERTIFICATE-----\nMIICDzCCAbSgAwIBAgIJAIlCFHqxjopLMAoGCCqBHM9VAYN1MIGQMQswCQYDVQQG\nEwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzAR\nBgNVBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW\n5Y2X5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MB4XDTIxMDkx\nNDA3MDU1N1oXDTI2MDkxMzA3MDU1N1owgYMxCzAJBgNVBAYTAkNOMRIwEAYDVQQI\nDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjEYMBYGA1UEChMPc2luYS55\ndW1hd2suY29tMQ4wDAYDVQQLEwVhZG1pbjEiMCAGA1UEAxMZYWRtaW4udGxzLnNp\nbmEueXVtYXdrLmNvbTBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABGQqKqMNPSc4\nbQElZ3tnQEW5pNrFS/0DecT/n99Ey1HEjiujH8c6quz0NWUEi9wS4QjhdJpWOJys\nrgdWLlBRtZ2jAjAAMAoGCCqBHM9VAYN1A0kAMEYCIQCT1MwYfpOquD2MCkTLPO32\n7nzZaRB+Bl5wC6XyYWHnXAIhAM0cvKkaCC5KAiv6hvE/pmHZkQS2iPziAXeQ6QJU\n2RJ9\n-----END CERTIFICATE-----\n', NULL);
+INSERT INTO `config` VALUES (3, 'ClientCertificate', '-----BEGIN CERTIFICATE-----\nMIICDzCCAbagAwIBAgIJAKIf3sABFoJgMAoGCCqBHM9VAYN1MIGQMQswCQYDVQQG\nEwJDTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzAR\nBgNVBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW\n5Y2X5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MB4XDTIxMDkx\nNDA3MDU1N1oXDTI2MDkxMzA3MDU1N1owgYUxCzAJBgNVBAYTAkNOMRIwEAYDVQQI\nDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+aymeW4gjEYMBYGA1UEChMPc2luYS55\ndW1hd2suY29tMQ8wDQYDVQQLEwZjbGllbnQxIzAhBgNVBAMTGmNsaWVudC50bHMu\nc2luYS55dW1hd2suY29tMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEIRTvpY0x\nQiNX0TsGM5OcQMXwWUmnJLzFcwh1bkwHTjZP0JKKpswIgfMfVWodR9v+J4zK8EqR\nE9bBYVKS+FnsfqMCMAAwCgYIKoEcz1UBg3UDRwAwRAIgGsLZMuBdOh3vsIPCdg5B\nVS8rhpVqJek+VPcGdaWJujgCIAoI8T9JoxYrm0JMxwKWSeK+8Wx6/RzdZbFBSVBW\nird9\n-----END CERTIFICATE-----\n', NULL);
+INSERT INTO `config` VALUES (4, 'ClientKey', '-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgBC+6/vFjDD3BtYgM\nr4HLr1Yele7ii9nSzGUAdPb5CeCgCgYIKoEcz1UBgi2hRANCAAQhFO+ljTFCI1fR\nOwYzk5xAxfBZSackvMVzCHVuTAdONk/QkoqmzAiB8x9Vah1H2/4njMrwSpET1sFh\nUpL4Wex+\n-----END PRIVATE KEY-----\n', NULL);
+INSERT INTO `config` VALUES (5, 'ChainId', 'chain1', NULL);
+INSERT INTO `config` VALUES (6, 'NodeAddr', '124.71.218.7:12301', NULL);
+INSERT INTO `config` VALUES (7, 'OrgName', 'sina.yumawk.com', NULL);
+
+-- ----------------------------
+-- Table structure for consensus
+-- ----------------------------
+DROP TABLE IF EXISTS `consensus`;
+CREATE TABLE `consensus`  (
+  `consensus_id` int(11) NOT NULL AUTO_INCREMENT,
+  `org_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `node_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `create_time` datetime(0) NULL DEFAULT NULL,
+  PRIMARY KEY (`consensus_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for contract
+-- ----------------------------
+DROP TABLE IF EXISTS `contract`;
+CREATE TABLE `contract`  (
+  `contract_id` int(11) NOT NULL AUTO_INCREMENT,
+  `contract_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `contract_version` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `create_time` datetime(0) NULL DEFAULT NULL,
+  PRIMARY KEY (`contract_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Table structure for root
+-- ----------------------------
+DROP TABLE IF EXISTS `root`;
+CREATE TABLE `root`  (
+  `root_id` int(11) NOT NULL AUTO_INCREMENT,
+  `certificate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `org_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
+  `create_time` datetime(0) NULL DEFAULT NULL,
+  PRIMARY KEY (`root_id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of root
+-- ----------------------------
+INSERT INTO `root` VALUES (1, '-----BEGIN CERTIFICATE-----\nMIICbzCCAhSgAwIBAgIRAPzSShfl3cn+nzsGKH8PJuQwCgYIKoEcz1UBg3UwgZAx\nCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnmuZbljZfnnIExEjAQBgNVBAcMCemVv+ay\nmeW4gjETMBEGA1UEChMKeXVtYXdrLmNvbTEPMA0GA1UECxMGUm9vdENBMTMwMQYD\nVQQDDCrmuZbljZflvqHnoIHnvZHmjqfkv6Hmga/mioDmnK/mnInpmZDlhazlj7gw\nIBcNMjEwOTEwMDY1MzIwWhgPMjA1MTA5MDMwNjUzMjBaMIGQMQswCQYDVQQGEwJD\nTjESMBAGA1UECAwJ5rmW5Y2X55yBMRIwEAYDVQQHDAnplb/mspnluIIxEzARBgNV\nBAoTCnl1bWF3ay5jb20xDzANBgNVBAsTBlJvb3RDQTEzMDEGA1UEAwwq5rmW5Y2X\n5b6h56CB572R5o6n5L+h5oGv5oqA5pyv5pyJ6ZmQ5YWs5Y+4MFkwEwYHKoZIzj0C\nAQYIKoEcz1UBgi0DQgAEF4jzcDaNk0n9sLM9oU++w04Zw7a26emycMnv688xzSXC\ntCupYeBE+dhbLEhUkaGuOpklo8vIqRaCSLNa/KxINKNLMEkwDgYDVR0PAQH/BAQD\nAgEGMA8GA1UdEwEB/wQFMAMBAf8wJgYDVR0RBB8wHYIKeXVtYXdrLmNvbYIJbG9j\nYWxob3N0hwR/AAABMAoGCCqBHM9VAYN1A0kAMEYCIQCFVCY3xRc+PvCmE94yxM/q\ne+w6cUs3Jf7Zo1IWtKQNhgIhAM7adp2l4f5Zal7Hzj0Bfn64Tc41LrA5w+BfDSnZ\nK+2N\n-----END CERTIFICATE-----\n', 'sina.yumawk.com', '2021-09-27 08:08:09');
+
+SET FOREIGN_KEY_CHECKS = 1;

二進制
wasm/fact_1.0.0.wasm


二進制
wasmer_runtime_c_api.dll