兄弟连区块链技术培训Fabric 1.0源代码分析(48)Fabric 1.0.4 go代码量统计

Delete_88c3 · · 956 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

兄弟连区块链技术培训Fabric 1.0源代码分析(48)Fabric 1.0.4 go代码量统计

# Fabric 1.0源代码笔记 之Fabric 1.0.4 go代码量统计

## 1、概述

除test、vendor、mocks、example、protos外,go核心代码文件341个,核心代码行63433行。


```bash

find ./ |grep -vE 'test|vendor|mocks|example|protos' | grep '\.go$' | wc -l

341

wc -l `find ./ |grep -vE 'test|vendor|mocks|example|protos' | grep '\.go$'`

63433 total

```


## 2、代码分布


  目录

  代码量

  代码量占比

  bccsp

  5605

  8.84%

  common

  12998

  20.49%

  core

  22613

  35.65%

  events

  1069

  1.69%

  gossip

  9389

  14.80%

  msp

  2425

  3.82%

  orderer

  5199

  8.20%

  peer

  4135

  6.52%


## 3、详情


```bash

65 ./bccsp/aesopts.go

144 ./bccsp/bccsp.go

49 ./bccsp/ecdsaopts.go

93 ./bccsp/factory/factory.go

87 ./bccsp/factory/nopkcs11.go

35 ./bccsp/factory/opts.go

106 ./bccsp/factory/pkcs11.go

66 ./bccsp/factory/pkcs11factory.go

82 ./bccsp/factory/swfactory.go

70 ./bccsp/hashopts.go

34 ./bccsp/keystore.go

326 ./bccsp/opts.go

108 ./bccsp/pkcs11/conf.go

120 ./bccsp/pkcs11/ecdsa.go

97 ./bccsp/pkcs11/ecdsakey.go

535 ./bccsp/pkcs11/impl.go

617 ./bccsp/pkcs11/pkcs11.go

81 ./bccsp/rsaopts.go

89 ./bccsp/signer/signer.go

161 ./bccsp/sw/aes.go

65 ./bccsp/sw/aeskey.go

81 ./bccsp/sw/conf.go

49 ./bccsp/sw/dummyks.go

171 ./bccsp/sw/ecdsa.go

120 ./bccsp/sw/ecdsakey.go

431 ./bccsp/sw/fileks.go

37 ./bccsp/sw/hash.go

393 ./bccsp/sw/impl.go

94 ./bccsp/sw/internals.go

157 ./bccsp/sw/keyderiv.go

67 ./bccsp/sw/keygen.go

162 ./bccsp/sw/keyimport.go

72 ./bccsp/sw/rsa.go

136 ./bccsp/sw/rsakey.go

26 ./bccsp/utils/errs.go

69 ./bccsp/utils/io.go

459 ./bccsp/utils/keys.go

25 ./bccsp/utils/slice.go

26 ./bccsp/utils/x509.go

119 ./common/cauthdsl/cauthdsl.go

174 ./common/cauthdsl/cauthdsl_builder.go

68 ./common/cauthdsl/policy.go

34 ./common/cauthdsl/policy_util.go

279 ./common/cauthdsl/policyparser.go

115 ./common/config/api.go

96 ./common/config/application.go

38 ./common/config/application_util.go

94 ./common/config/applicationorg.go

241 ./common/config/channel.go

74 ./common/config/channel_util.go

128 ./common/config/consortium.go

99 ./common/config/consortiums.go

44 ./common/config/consortiums_util.go

150 ./common/config/msp/config.go

108 ./common/config/msp/config_util.go

247 ./common/config/orderer.go

57 ./common/config/orderer_util.go

129 ./common/config/organization.go

152 ./common/config/proposer.go

93 ./common/config/root.go

105 ./common/config/standardvalues.go

114 ./common/configtx/api/api.go

186 ./common/configtx/compare.go

282 ./common/configtx/config.go

168 ./common/configtx/configmap.go

155 ./common/configtx/initializer.go

305 ./common/configtx/manager.go

291 ./common/configtx/template.go

412 ./common/configtx/tool/configtxgen/main.go

38 ./common/configtx/tool/configtxgen/metadata/metadata.go

268 ./common/configtx/tool/localconfig/config.go

276 ./common/configtx/tool/provisional/provisional.go

208 ./common/configtx/update.go

99 ./common/configtx/util.go

42 ./common/crypto/random.go

28 ./common/crypto/signer.go

104 ./common/errors/codes.go

204 ./common/errors/errors.go

61 ./common/flogging/grpclogger.go

233 ./common/flogging/logging.go

75 ./common/genesis/genesis.go

75 ./common/ledger/blkstorage/blockstorage.go

218 ./common/ledger/blkstorage/fsblkstorage/block_serialization.go

209 ./common/ledger/blkstorage/fsblkstorage/block_stream.go

117 ./common/ledger/blkstorage/fsblkstorage/blockfile_helper.go

696 ./common/ledger/blkstorage/fsblkstorage/blockfile_mgr.go

94 ./common/ledger/blkstorage/fsblkstorage/blockfile_rw.go

381 ./common/ledger/blkstorage/fsblkstorage/blockindex.go

101 ./common/ledger/blkstorage/fsblkstorage/blocks_itr.go

54 ./common/ledger/blkstorage/fsblkstorage/config.go

93 ./common/ledger/blkstorage/fsblkstorage/fs_blockstore.go

65 ./common/ledger/blkstorage/fsblkstorage/fs_blockstore_provider.go

53 ./common/ledger/ledger_interface.go

99 ./common/ledger/util/ioutil.go

165 ./common/ledger/util/leveldbhelper/leveldb_helper.go

152 ./common/ledger/util/leveldbhelper/leveldb_provider.go

56 ./common/ledger/util/protobuf_util.go

62 ./common/ledger/util/util.go

74 ./common/localmsp/signer.go

24 ./common/metadata/metadata.go

83 ./common/policies/implicitmeta.go

69 ./common/policies/implicitmeta_util.go

376 ./common/policies/policy.go

66 ./common/tools/configtxlator/main.go

32 ./common/tools/configtxlator/metadata/metadata.go

125 ./common/tools/configtxlator/rest/configtxlator_handlers.go

109 ./common/tools/configtxlator/rest/protolator_handlers.go

40 ./common/tools/configtxlator/rest/router.go

147 ./common/tools/configtxlator/sanitycheck/sanitycheck.go

234 ./common/tools/configtxlator/update/update.go

175 ./common/tools/cryptogen/ca/generator.go

77 ./common/tools/cryptogen/csp/csp.go

568 ./common/tools/cryptogen/main.go

32 ./common/tools/cryptogen/metadata/metadata.go

224 ./common/tools/cryptogen/msp/generator.go

157 ./common/tools/protolator/api.go

149 ./common/tools/protolator/dynamic.go

445 ./common/tools/protolator/json.go

111 ./common/tools/protolator/nested.go

152 ./common/tools/protolator/statically_opaque.go

124 ./common/tools/protolator/variably_opaque.go

195 ./common/util/utils.go

327 ./common/viperutil/config_util.go

73 ./core/admin.go

122 ./core/chaincode/ccproviderimpl.go

759 ./core/chaincode/chaincode_support.go

91 ./core/chaincode/chaincodeexec.go

106 ./core/chaincode/exectransaction.go

1459 ./core/chaincode/handler.go

91 ./core/chaincode/platforms/car/platform.go

89 ./core/chaincode/platforms/golang/env.go

84 ./core/chaincode/platforms/golang/list.go

149 ./core/chaincode/platforms/golang/package.go

462 ./core/chaincode/platforms/golang/platform.go

89 ./core/chaincode/platforms/java/hash.go

48 ./core/chaincode/platforms/java/package.go

148 ./core/chaincode/platforms/java/platform.go

227 ./core/chaincode/platforms/platforms.go

247 ./core/chaincode/platforms/util/utils.go

882 ./core/chaincode/shim/chaincode.go

807 ./core/chaincode/shim/handler.go

45 ./core/chaincode/shim/inprocstream.go

235 ./core/chaincode/shim/interfaces.go

46 ./core/chaincode/shim/response.go

127 ./core/comm/config.go

215 ./core/comm/connection.go

80 ./core/comm/creds.go

101 ./core/comm/producer.go

364 ./core/comm/server.go

41 ./core/committer/committer.go

130 ./core/committer/committer_impl.go

673 ./core/committer/txvalidator/validator.go

245 ./core/common/ccpackage/ccpackage.go

70 ./core/common/ccprovider/ccinfocache.go

466 ./core/common/ccprovider/ccprovider.go

282 ./core/common/ccprovider/cdspackage.go

346 ./core/common/ccprovider/sigcdspackage.go

79 ./core/common/sysccprovider/sysccprovider.go

435 ./core/common/validation/msgvalidation.go

191 ./core/config/config.go

37 ./core/container/api/core.go

76 ./core/container/ccintf/ccintf.go

266 ./core/container/controller.go

473 ./core/container/dockercontroller/dockercontroller.go

252 ./core/container/inproccontroller/inproccontroller.go

41 ./core/container/inproccontroller/inprocstream.go

72 ./core/container/util/dockerutil.go

171 ./core/container/util/writer.go

101 ./core/container/vm.go

230 ./core/deliverservice/blocksprovider/blocksprovider.go

246 ./core/deliverservice/client.go

231 ./core/deliverservice/deliveryclient.go

88 ./core/deliverservice/requester.go

537 ./core/endorser/endorser.go

72 ./core/fsm.go

60 ./core/ledger/kvledger/history/historydb/histmgr_helper.go

41 ./core/ledger/kvledger/history/historydb/historydb.go

217 ./core/ledger/kvledger/history/historydb/historyleveldb/historyleveldb.go

155 ./core/ledger/kvledger/history/historydb/historyleveldb/historyleveldb_query_executer.go

247 ./core/ledger/kvledger/kv_ledger.go

341 ./core/ledger/kvledger/kv_ledger_provider.go

33 ./core/ledger/kvledger/recovery.go

268 ./core/ledger/kvledger/txmgmt/rwsetutil/query_results_helper.go

123 ./core/ledger/kvledger/txmgmt/rwsetutil/rwset_builder.go

103 ./core/ledger/kvledger/txmgmt/rwsetutil/rwset_proto_util.go

264 ./core/ledger/kvledger/txmgmt/statedb/statecouchdb/query_wrapper.go

492 ./core/ledger/kvledger/txmgmt/statedb/statecouchdb/statecouchdb.go

229 ./core/ledger/kvledger/txmgmt/statedb/statedb.go

206 ./core/ledger/kvledger/txmgmt/statedb/stateleveldb/stateleveldb.go

35 ./core/ledger/kvledger/txmgmt/statedb/util.go

244 ./core/ledger/kvledger/txmgmt/txmgr/lockbasedtxmgr/helper.go

64 ./core/ledger/kvledger/txmgmt/txmgr/lockbasedtxmgr/lockbased_query_executer.go

83 ./core/ledger/kvledger/txmgmt/txmgr/lockbasedtxmgr/lockbased_tx_simulator.go

133 ./core/ledger/kvledger/txmgmt/txmgr/lockbasedtxmgr/lockbased_txmgr.go

36 ./core/ledger/kvledger/txmgmt/txmgr/txmgr.go

174 ./core/ledger/kvledger/txmgmt/validator/statebasedval/combined_iterator.go

157 ./core/ledger/kvledger/txmgmt/validator/statebasedval/range_query_validator.go

252 ./core/ledger/kvledger/txmgmt/validator/statebasedval/state_based_validator.go

27 ./core/ledger/kvledger/txmgmt/validator/validator.go

75 ./core/ledger/kvledger/txmgmt/version/version.go

127 ./core/ledger/ledger_interface.go

93 ./core/ledger/ledgerconfig/ledger_config.go

160 ./core/ledger/ledgermgmt/ledger_mgmt.go

46 ./core/ledger/util/couchdb/config.go

1426 ./core/ledger/util/couchdb/couchdb.go

169 ./core/ledger/util/couchdb/couchdbutil.go

55 ./core/ledger/util/txvalidationflags.go

34 ./core/ledger/util/util.go

150 ./core/peer/config.go

562 ./core/peer/peer.go

210 ./core/policy/policy.go

43 ./core/policyprovider/provider.go

235 ./core/scc/cscc/configure.go

179 ./core/scc/escc/endorser_onevalidsignature.go

144 ./core/scc/importsysccs.go

905 ./core/scc/lscc/lscc.go

218 ./core/scc/qscc/query.go

91 ./core/scc/samplesyscc/samplesyscc.go

73 ./core/scc/sccproviderimpl.go

178 ./core/scc/sysccapi.go

459 ./core/scc/vscc/validator_onevalidsignature.go

29 ./events/consumer/adapter.go

256 ./events/consumer/consumer.go

123 ./events/producer/eventhelper.go

345 ./events/producer/events.go

188 ./events/producer/handler.go

72 ./events/producer/producer.go

56 ./events/producer/register_internal_events.go

71 ./gossip/api/channel.go

71 ./gossip/api/crypto.go

68 ./gossip/comm/comm.go

642 ./gossip/comm/comm_impl.go

381 ./gossip/comm/conn.go

122 ./gossip/comm/crypto.go

97 ./gossip/comm/demux.go

195 ./gossip/comm/mock/mock_comm.go

58 ./gossip/comm/msg.go

64 ./gossip/common/common.go

140 ./gossip/discovery/discovery.go

1044 ./gossip/discovery/discovery_impl.go

171 ./gossip/election/adapter.go

487 ./gossip/election/election.go

77 ./gossip/filter/filter.go

344 ./gossip/gossip/algo/pull.go

148 ./gossip/gossip/batcher.go

156 ./gossip/gossip/certstore.go

733 ./gossip/gossip/channel/channel.go

168 ./gossip/gossip/chanstate.go

97 ./gossip/gossip/gossip.go

1257 ./gossip/gossip/gossip_impl.go

279 ./gossip/gossip/msgstore/msgs.go

378 ./gossip/gossip/pull/pullstore.go

214 ./gossip/identity/identity.go

94 ./gossip/integration/integration.go

120 ./gossip/service/eventer.go

322 ./gossip/service/gossip_service.go

72 ./gossip/state/metastate.go

144 ./gossip/state/payloads_buffer.go

689 ./gossip/state/state.go

69 ./gossip/util/logging.go

202 ./gossip/util/misc.go

82 ./gossip/util/msgs.go

133 ./gossip/util/pubsub.go

146 ./msp/cert.go

278 ./msp/configbuilder.go

218 ./msp/identities.go

69 ./msp/mgmt/deserializer.go

172 ./msp/mgmt/mgmt.go

73 ./msp/mgmt/principal.go

190 ./msp/msp.go

1172 ./msp/mspimpl.go

107 ./msp/mspmgrimpl.go

165 ./orderer/common/blockcutter/blockcutter.go

28 ./orderer/common/bootstrap/bootstrap.go

53 ./orderer/common/bootstrap/file/bootstrap.go

162 ./orderer/common/broadcast/broadcast.go

90 ./orderer/common/configtxfilter/filter.go

223 ./orderer/common/deliver/deliver.go

107 ./orderer/common/filter/filter.go

75 ./orderer/common/sigfilter/sigfilter.go

53 ./orderer/common/sizefilter/sizefilter.go

150 ./orderer/configupdate/configupdate.go

503 ./orderer/kafka/chain.go

58 ./orderer/kafka/channel.go

78 ./orderer/kafka/config.go

76 ./orderer/kafka/consenter.go

32 ./orderer/kafka/partitioner.go

86 ./orderer/kafka/retry.go

78 ./orderer/ledger/file/factory.go

111 ./orderer/ledger/file/impl.go

160 ./orderer/ledger/json/factory.go

177 ./orderer/ledger/json/impl.go

65 ./orderer/ledger/ledger.go

97 ./orderer/ledger/ram/factory.go

171 ./orderer/ledger/ram/impl.go

105 ./orderer/ledger/util.go

365 ./orderer/localconfig/config.go

221 ./orderer/main.go

35 ./orderer/metadata/metadata.go

296 ./orderer/multichain/chainsupport.go

319 ./orderer/multichain/manager.go

189 ./orderer/multichain/systemchain.go

126 ./orderer/sample_clients/broadcast_config/client.go

31 ./orderer/sample_clients/broadcast_config/newchain.go

105 ./orderer/sample_clients/broadcast_timestamp/client.go

144 ./orderer/sample_clients/deliver_stdout/client.go

166 ./orderer/sample_clients/single_tx_client/single_tx_client.go

94 ./orderer/server.go

120 ./orderer/solo/consensus.go

85 ./orderer/util.go

130 ./peer/chaincode/chaincode.go

348 ./peer/chaincode/common.go

210 ./peer/chaincode/install.go

129 ./peer/chaincode/instantiate.go

59 ./peer/chaincode/invoke.go

193 ./peer/chaincode/package.go

64 ./peer/chaincode/query.go

77 ./peer/chaincode/signpackage.go

132 ./peer/chaincode/upgrade.go

188 ./peer/channel/channel.go

214 ./peer/channel/create.go

152 ./peer/channel/deliverclient.go

110 ./peer/channel/fetchconfig.go

144 ./peer/channel/join.go

112 ./peer/channel/list.go

90 ./peer/channel/update.go

73 ./peer/clilogging/common.go

55 ./peer/clilogging/getlevel.go

48 ./peer/clilogging/logging.go

55 ./peer/clilogging/revertlevels.go

55 ./peer/clilogging/setlevel.go

230 ./peer/common/common.go

96 ./peer/common/mockclient.go

103 ./peer/common/ordererclient.go

319 ./peer/gossip/mcs.go

88 ./peer/gossip/sa.go

122 ./peer/main.go

46 ./peer/node/node.go

382 ./peer/node/start.go

60 ./peer/node/status.go

51 ./peer/version/version.go

63433 total

是科技发展太快,还是我们已经掉尾?7月7日起,每天两小时跟清华微软谷歌大牛团队一起实战区块链。http://www.ydma.cn/open/course/16来来来,清华学霸尹成大哥带你飞起来~


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

956 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传