兄弟连区块链培训Fabric1.0源代码分析(48)Fabric1.0.4go代码量统计
#Fabric1.0源代码笔记之Fabric1.0.4go代码量统计
##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$'`
63433total
```
##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
63433total