├── .dockerignore
├── .gitattributes
├── .gitignore
├── .gitreview
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Gopkg.lock
├── Gopkg.toml
├── LICENSE
├── Makefile
├── README.md
├── bccsp
├── aesopts.go
├── bccsp.go
├── bccsp_test.go
├── ecdsaopts.go
├── factory
│ ├── factory.go
│ ├── factory_test.go
│ ├── nopkcs11.go
│ ├── opts.go
│ ├── opts_test.go
│ ├── pkcs11.go
│ ├── pkcs11_test.go
│ ├── pkcs11factory.go
│ ├── pkcs11factory_test.go
│ ├── pluginfactory.go
│ ├── pluginfactory_test.go
│ ├── race_test.go
│ ├── swfactory.go
│ └── swfactory_test.go
├── hashopts.go
├── idemix
│ ├── bccsp.go
│ ├── bccsp_test.go
│ ├── bridge
│ │ ├── bridge_suite_test.go
│ │ ├── bridge_test.go
│ │ ├── credential.go
│ │ ├── credrequest.go
│ │ ├── issuer.go
│ │ ├── math.go
│ │ ├── nymsignaturescheme.go
│ │ ├── rand.go
│ │ ├── revocation.go
│ │ ├── signaturescheme.go
│ │ └── user.go
│ ├── handlers
│ │ ├── cred.go
│ │ ├── cred_test.go
│ │ ├── idemix.go
│ │ ├── idemix_suite_test.go
│ │ ├── issuer.go
│ │ ├── issuer_test.go
│ │ ├── mock
│ │ │ ├── big.go
│ │ │ ├── credential.go
│ │ │ ├── credrequest.go
│ │ │ ├── ecp.go
│ │ │ ├── issuer.go
│ │ │ ├── issuer_public_key.go
│ │ │ ├── issuer_secret_key.go
│ │ │ ├── nymsignature_scheme.go
│ │ │ ├── revocation.go
│ │ │ ├── signature_scheme.go
│ │ │ └── user.go
│ │ ├── nym.go
│ │ ├── nymsigner.go
│ │ ├── nymsigner_test.go
│ │ ├── revocation.go
│ │ ├── revocation_test.go
│ │ ├── signer.go
│ │ ├── signer_test.go
│ │ ├── user.go
│ │ └── user_test.go
│ └── idemix_suite_test.go
├── idemixerrs.go
├── idemixopts.go
├── keystore.go
├── mocks
│ └── mocks.go
├── opts.go
├── pkcs11
│ ├── conf.go
│ ├── ecdsa.go
│ ├── ecdsakey.go
│ ├── ecdsakey_test.go
│ ├── impl.go
│ ├── impl_test.go
│ ├── pkcs11.go
│ └── pkcs11_test.go
├── rsaopts.go
├── signer
│ ├── signer.go
│ └── signer_test.go
├── sw
│ ├── aes.go
│ ├── aes_test.go
│ ├── aeskey.go
│ ├── conf.go
│ ├── dummyks.go
│ ├── dummyks_test.go
│ ├── ecdsa.go
│ ├── ecdsa_test.go
│ ├── ecdsakey.go
│ ├── enc_test.go
│ ├── fileks.go
│ ├── fileks_test.go
│ ├── hash.go
│ ├── hash_test.go
│ ├── impl.go
│ ├── impl_test.go
│ ├── inmemoryks.go
│ ├── inmemoryks_test.go
│ ├── internals.go
│ ├── keyderiv.go
│ ├── keyderiv_test.go
│ ├── keygen.go
│ ├── keygen_test.go
│ ├── keyimport.go
│ ├── keyimport_test.go
│ ├── mocks
│ │ └── mocks.go
│ ├── new.go
│ ├── rsa.go
│ ├── rsa_test.go
│ ├── rsakey.go
│ ├── sign_test.go
│ ├── sw_test.go
│ └── verify_test.go
└── utils
│ ├── ecdsa.go
│ ├── ecdsa_test.go
│ ├── errs.go
│ ├── errs_test.go
│ ├── io.go
│ ├── io_test.go
│ ├── keys.go
│ ├── keys_test.go
│ ├── slice.go
│ ├── slice_test.go
│ ├── x509.go
│ └── x509_test.go
├── ci.properties
├── cmd
├── common
│ ├── cli.go
│ ├── cli_test.go
│ ├── comm
│ │ ├── client.go
│ │ ├── client_test.go
│ │ ├── config.go
│ │ └── testdata
│ │ │ ├── client
│ │ │ ├── cert.pem
│ │ │ └── key.pem
│ │ │ └── server
│ │ │ ├── ca.pem
│ │ │ ├── cert.pem
│ │ │ └── key.pem
│ ├── config.go
│ ├── config_test.go
│ ├── signer
│ │ ├── signer.go
│ │ ├── signer_test.go
│ │ └── testdata
│ │ │ └── signer
│ │ │ ├── 8150cb2d09628ccc89727611ebb736189f6482747eff9b8aaaa27e9a382d2e93_sk
│ │ │ ├── broken_private_key
│ │ │ ├── ca.pem
│ │ │ ├── cert.pem
│ │ │ └── empty_private_key
│ └── testdata
│ │ ├── not_a_yaml.yaml
│ │ └── valid_config
│ │ └── config.yaml
└── discover
│ ├── main.go
│ └── main_test.go
├── common
├── attrmgr
│ ├── attrmgr.go
│ └── attrmgr_test.go
├── capabilities
│ ├── application.go
│ ├── application_test.go
│ ├── capabilities.go
│ ├── capabilities_test.go
│ ├── channel.go
│ ├── channel_test.go
│ ├── orderer.go
│ └── orderer_test.go
├── cauthdsl
│ ├── cauthdsl.go
│ ├── cauthdsl_builder.go
│ ├── cauthdsl_test.go
│ ├── policy.go
│ ├── policy_test.go
│ ├── policyparser.go
│ └── policyparser_test.go
├── chaincode
│ ├── metadata.go
│ └── metadata_test.go
├── channelconfig
│ ├── acls.go
│ ├── acls_test.go
│ ├── api.go
│ ├── application.go
│ ├── application_test.go
│ ├── applicationorg.go
│ ├── applicationorg_test.go
│ ├── bundle.go
│ ├── bundle_test.go
│ ├── bundlesource.go
│ ├── channel.go
│ ├── channel_test.go
│ ├── consortium.go
│ ├── consortium_test.go
│ ├── consortiums.go
│ ├── consortiums_test.go
│ ├── logsanitychecks.go
│ ├── msp.go
│ ├── msp_test.go
│ ├── orderer.go
│ ├── orderer_test.go
│ ├── organization.go
│ ├── organization_test.go
│ ├── realconfig_test.go
│ ├── standardvalues.go
│ ├── standardvalues_test.go
│ ├── util.go
│ └── util_test.go
├── config
│ └── api.go
├── configtx
│ ├── compare.go
│ ├── compare_test.go
│ ├── configmap.go
│ ├── configmap_test.go
│ ├── configtx.go
│ ├── test
│ │ └── helper.go
│ ├── update.go
│ ├── update_test.go
│ ├── util.go
│ ├── util_test.go
│ ├── validator.go
│ └── validator_test.go
├── crypto
│ ├── expiration.go
│ ├── expiration_test.go
│ ├── random.go
│ ├── random_test.go
│ ├── signer.go
│ ├── signer_test.go
│ ├── testdata
│ │ ├── badCert.pem
│ │ └── cert.pem
│ └── tlsgen
│ │ ├── ca.go
│ │ ├── ca_test.go
│ │ ├── key.go
│ │ └── key_test.go
├── deliver
│ ├── acl.go
│ ├── acl_test.go
│ ├── deliver.go
│ ├── deliver_suite_test.go
│ ├── deliver_test.go
│ ├── interfaces_test.go
│ ├── metrics.go
│ └── mock
│ │ ├── block_iterator.go
│ │ ├── block_reader.go
│ │ ├── chain.go
│ │ ├── chain_manager.go
│ │ ├── filtered_response_sender.go
│ │ ├── inspector.go
│ │ ├── policy_checker.go
│ │ ├── receiver.go
│ │ └── response_sender.go
├── diag
│ ├── goroutine.go
│ └── goroutine_test.go
├── errors
│ └── errors.go
├── flogging
│ ├── core.go
│ ├── core_test.go
│ ├── fabenc
│ │ ├── color.go
│ │ ├── color_test.go
│ │ ├── encoder.go
│ │ ├── encoder_test.go
│ │ ├── formatter.go
│ │ └── formatter_test.go
│ ├── floggingtest
│ │ ├── logger.go
│ │ └── logger_test.go
│ ├── global.go
│ ├── global_test.go
│ ├── httpadmin
│ │ ├── fakes
│ │ │ └── logging.go
│ │ ├── httpadmin_suite_test.go
│ │ ├── spec.go
│ │ └── spec_test.go
│ ├── legacy.go
│ ├── legacy_test.go
│ ├── levels.go
│ ├── levels_test.go
│ ├── loggerlevels.go
│ ├── loggerlevels_test.go
│ ├── logging.go
│ ├── logging_test.go
│ ├── metrics
│ │ ├── observer.go
│ │ └── observer_test.go
│ ├── mock
│ │ ├── observer.go
│ │ └── write_syncer.go
│ ├── zap.go
│ └── zap_test.go
├── genesis
│ ├── genesis.go
│ └── genesis_test.go
├── graph
│ ├── choose.go
│ ├── choose_test.go
│ ├── graph.go
│ ├── graph_test.go
│ ├── perm.go
│ ├── perm_test.go
│ ├── tree.go
│ └── tree_test.go
├── grpclogging
│ ├── context.go
│ ├── context_test.go
│ ├── fakes
│ │ ├── echo_service.go
│ │ └── leveler.go
│ ├── fields.go
│ ├── fields_test.go
│ ├── grpclogging_suite_test.go
│ ├── server.go
│ ├── server_test.go
│ └── testpb
│ │ ├── echo.pb.go
│ │ └── echo.proto
├── grpcmetrics
│ ├── fakes
│ │ └── echo_service.go
│ ├── grpcmetrics_suite_test.go
│ ├── interceptor.go
│ ├── interceptor_test.go
│ ├── metrics.go
│ └── testpb
│ │ ├── echo.pb.go
│ │ └── echo.proto
├── ledger
│ ├── blkstorage
│ │ ├── blockstorage.go
│ │ └── fsblkstorage
│ │ │ ├── block_serialization.go
│ │ │ ├── block_serialization_test.go
│ │ │ ├── block_stream.go
│ │ │ ├── block_stream_test.go
│ │ │ ├── blockfile_helper.go
│ │ │ ├── blockfile_helper_test.go
│ │ │ ├── blockfile_mgr.go
│ │ │ ├── blockfile_mgr_test.go
│ │ │ ├── blockfile_rw.go
│ │ │ ├── blockfile_scan_test.go
│ │ │ ├── blockindex.go
│ │ │ ├── blockindex_test.go
│ │ │ ├── blocks_itr.go
│ │ │ ├── blocks_itr_test.go
│ │ │ ├── config.go
│ │ │ ├── fs_blockstore.go
│ │ │ ├── fs_blockstore_provider.go
│ │ │ ├── fs_blockstore_provider_test.go
│ │ │ ├── fs_blockstore_test.go
│ │ │ └── pkg_test.go
│ ├── blockledger
│ │ ├── blackbox_test.go
│ │ ├── file
│ │ │ ├── factory.go
│ │ │ ├── factory_test.go
│ │ │ ├── impl.go
│ │ │ └── impl_test.go
│ │ ├── file_test.go
│ │ ├── json
│ │ │ ├── factory.go
│ │ │ ├── factory_test.go
│ │ │ ├── impl.go
│ │ │ └── impl_test.go
│ │ ├── json_test.go
│ │ ├── ledger.go
│ │ ├── mocks
│ │ │ └── read_writer.go
│ │ ├── ram
│ │ │ ├── factory.go
│ │ │ ├── factory_test.go
│ │ │ ├── impl.go
│ │ │ └── impl_test.go
│ │ ├── ram_test.go
│ │ ├── util.go
│ │ └── util_test.go
│ ├── ledger_interface.go
│ ├── testutil
│ │ ├── test_helper.go
│ │ └── test_util.go
│ └── util
│ │ ├── ioutil.go
│ │ ├── ioutil_test.go
│ │ ├── leveldbhelper
│ │ ├── leveldb_helper.go
│ │ ├── leveldb_helper_test.go
│ │ ├── leveldb_provider.go
│ │ ├── leveldb_provider_test.go
│ │ └── pkg_test.go
│ │ ├── protobuf_util.go
│ │ ├── protobuf_util_test.go
│ │ ├── util.go
│ │ └── util_test.go
├── localmsp
│ ├── signer.go
│ └── signer_test.go
├── metadata
│ └── metadata.go
├── metrics
│ ├── cmd
│ │ └── gendoc
│ │ │ ├── .gitignore
│ │ │ └── main.go
│ ├── disabled
│ │ ├── disabled_suite_test.go
│ │ ├── provider.go
│ │ └── provider_test.go
│ ├── gendoc
│ │ ├── gendoc_suite_test.go
│ │ ├── options.go
│ │ ├── options_test.go
│ │ ├── table.go
│ │ ├── table_test.go
│ │ └── testdata
│ │ │ ├── basic.go
│ │ │ ├── ignored.go
│ │ │ └── named_import.go
│ ├── internal
│ │ └── namer
│ │ │ ├── namer.go
│ │ │ ├── namer_suite_test.go
│ │ │ └── namer_test.go
│ ├── metrics_suite_test.go
│ ├── metricsfakes
│ │ ├── counter.go
│ │ ├── gauge.go
│ │ ├── histogram.go
│ │ └── provider.go
│ ├── prometheus
│ │ ├── prometheus_suite_test.go
│ │ ├── provider.go
│ │ └── provider_test.go
│ ├── provider.go
│ └── statsd
│ │ ├── goruntime
│ │ ├── collector.go
│ │ ├── collector_test.go
│ │ ├── goruntime_suite_test.go
│ │ └── metrics.go
│ │ ├── provider.go
│ │ ├── provider_test.go
│ │ └── statsd_suite_test.go
├── mocks
│ ├── config
│ │ ├── application.go
│ │ ├── channel.go
│ │ ├── channel_test.go
│ │ ├── orderer.go
│ │ ├── orderer_test.go
│ │ ├── resources.go
│ │ └── resources_test.go
│ ├── configtx
│ │ ├── configtx.go
│ │ └── configtx_test.go
│ ├── crypto
│ │ ├── localsigner.go
│ │ └── localsigner_test.go
│ ├── ledger
│ │ └── queryexecutor.go
│ ├── msp
│ │ ├── noopmsp.go
│ │ └── noopmsp_test.go
│ ├── peer
│ │ ├── mockccstream.go
│ │ └── mockpeerccsupport.go
│ ├── policies
│ │ ├── policies.go
│ │ └── policies_test.go
│ ├── resourcesconfig
│ │ └── resourcesconfig.go
│ └── scc
│ │ └── sccprovider.go
├── policies
│ ├── implicitmeta.go
│ ├── implicitmeta_test.go
│ ├── implicitmeta_util.go
│ ├── implicitmetaparser.go
│ ├── implicitmetaparser_test.go
│ ├── inquire
│ │ ├── compare.go
│ │ ├── compare_test.go
│ │ ├── inquire.go
│ │ ├── inquire_test.go
│ │ ├── merge.go
│ │ └── merge_test.go
│ ├── policy.go
│ ├── policy_test.go
│ ├── util.go
│ └── util_test.go
├── semaphore
│ ├── semaphore.go
│ └── semaphore_test.go
├── tools
│ ├── configtxgen
│ │ ├── configtxgentest
│ │ │ └── config.go
│ │ ├── encoder
│ │ │ ├── encoder.go
│ │ │ └── encoder_test.go
│ │ ├── localconfig
│ │ │ ├── config.go
│ │ │ └── config_test.go
│ │ ├── main.go
│ │ ├── main_test.go
│ │ └── metadata
│ │ │ ├── metadata.go
│ │ │ └── metadata_test.go
│ ├── configtxlator
│ │ ├── integration
│ │ │ ├── cors_test.go
│ │ │ └── integration_suite_test.go
│ │ ├── main.go
│ │ ├── metadata
│ │ │ ├── metadata.go
│ │ │ └── metadata_test.go
│ │ ├── rest
│ │ │ ├── configtxlator_handlers.go
│ │ │ ├── configtxlator_handlers_test.go
│ │ │ ├── protolator_handlers.go
│ │ │ ├── protolator_handlers_test.go
│ │ │ └── router.go
│ │ ├── sanitycheck
│ │ │ ├── sanitycheck.go
│ │ │ └── sanitycheck_test.go
│ │ └── update
│ │ │ ├── update.go
│ │ │ └── update_test.go
│ ├── cryptogen
│ │ ├── ca
│ │ │ ├── ca_test.go
│ │ │ └── generator.go
│ │ ├── csp
│ │ │ ├── csp.go
│ │ │ └── csp_test.go
│ │ ├── main.go
│ │ ├── metadata
│ │ │ ├── metadata.go
│ │ │ └── metadata_test.go
│ │ └── msp
│ │ │ ├── generator.go
│ │ │ ├── msp_internal_test.go
│ │ │ └── msp_test.go
│ ├── idemixgen
│ │ ├── idemixca
│ │ │ ├── idemixca.go
│ │ │ └── idemixca_test.go
│ │ ├── idemixgen.go
│ │ └── metadata
│ │ │ ├── metadata.go
│ │ │ └── metadata_test.go
│ └── protolator
│ │ ├── api.go
│ │ ├── dynamic.go
│ │ ├── dynamic_test.go
│ │ ├── integration
│ │ └── integration_test.go
│ │ ├── json.go
│ │ ├── json_test.go
│ │ ├── nested.go
│ │ ├── nested_test.go
│ │ ├── statically_opaque.go
│ │ ├── statically_opaque_test.go
│ │ ├── testprotos
│ │ ├── sample.go
│ │ ├── sample.pb.go
│ │ └── sample.proto
│ │ ├── variably_opaque.go
│ │ └── variably_opaque_test.go
├── util
│ ├── net.go
│ ├── net_test.go
│ ├── utils.go
│ └── utils_test.go
└── viperutil
│ ├── config_test.go
│ └── config_util.go
├── core
├── aclmgmt
│ ├── aclmgmt.go
│ ├── aclmgmtimpl.go
│ ├── defaultaclprovider.go
│ ├── mocks
│ │ └── mocks.go
│ ├── resourceprovider.go
│ ├── resourceprovider_test.go
│ └── resources
│ │ └── resources.go
├── admin
│ ├── admin.go
│ ├── admin_test.go
│ ├── validate.go
│ └── validate_test.go
├── cclifecycle
│ ├── lifecycle.go
│ ├── lifecycle_test.go
│ ├── mocks
│ │ ├── enumerator.go
│ │ ├── life_cycle_change_listener.go
│ │ ├── query.go
│ │ └── query_creator.go
│ ├── subscription.go
│ ├── util.go
│ └── util_test.go
├── chaincode
│ ├── accesscontrol
│ │ ├── access.go
│ │ ├── access_test.go
│ │ ├── interceptor.go
│ │ ├── mapper.go
│ │ └── mapper_test.go
│ ├── active_transactions.go
│ ├── active_transactions_test.go
│ ├── ccproviderimpl.go
│ ├── chaincode_suite_test.go
│ ├── chaincode_support.go
│ ├── chaincode_support_test.go
│ ├── chaincodetest.yaml
│ ├── config.go
│ ├── config_test.go
│ ├── container_runtime.go
│ ├── container_runtime_test.go
│ ├── exectransaction_test.go
│ ├── executetransaction_pvtdata_test.go
│ ├── fake
│ │ ├── application_config_retriever.go
│ │ ├── context_registry.go
│ │ ├── launch_registry.go
│ │ ├── message_handler.go
│ │ ├── query_response_builder.go
│ │ └── registry.go
│ ├── handler.go
│ ├── handler_internal_test.go
│ ├── handler_registry.go
│ ├── handler_registry_test.go
│ ├── handler_test.go
│ ├── lib
│ │ └── cid
│ │ │ ├── README.md
│ │ │ ├── cid.go
│ │ │ ├── cid_test.go
│ │ │ └── interfaces.go
│ ├── lifecycle
│ │ ├── lifecycle.go
│ │ ├── lifecycle_suite_test.go
│ │ ├── lifecycle_test.go
│ │ ├── mock
│ │ │ ├── chaincode_store.go
│ │ │ ├── chaincode_stub.go
│ │ │ ├── package_parser.go
│ │ │ ├── protobuf.go
│ │ │ └── scc_functions.go
│ │ ├── protobuf.go
│ │ ├── protobuf_test.go
│ │ ├── scc.go
│ │ └── scc_test.go
│ ├── metrics.go
│ ├── mock
│ │ ├── acl_provider.go
│ │ ├── cert_generator.go
│ │ ├── chaincode_definition_getter.go
│ │ ├── chaincode_stream.go
│ │ ├── collection_store.go
│ │ ├── history_query_executor.go
│ │ ├── instantiation_policy_checker.go
│ │ ├── invoker.go
│ │ ├── ledger_getter.go
│ │ ├── lifecycle.go
│ │ ├── package_provider.go
│ │ ├── peer_ledger.go
│ │ ├── processor.go
│ │ ├── results_iterator.go
│ │ ├── runtime.go
│ │ ├── system_chaincode_provider.go
│ │ ├── transaction_registry.go
│ │ └── tx_simulator.go
│ ├── pending_query_result.go
│ ├── pending_query_result_test.go
│ ├── persistence
│ │ ├── chaincode_package.go
│ │ ├── chaincode_package_test.go
│ │ ├── mock
│ │ │ ├── ioreadwriter.go
│ │ │ ├── legacy_package_provider.go
│ │ │ ├── osfileinfo.go
│ │ │ ├── package_parser.go
│ │ │ └── store_package_provider.go
│ │ ├── package_provider.go
│ │ ├── package_provider_test.go
│ │ ├── persistence.go
│ │ ├── persistence_suite_test.go
│ │ ├── persistence_test.go
│ │ └── testdata
│ │ │ ├── bad-metadata.tar.gz
│ │ │ ├── corrupted-header.tar.gz
│ │ │ ├── corrupted-package.tar.gz
│ │ │ ├── good-package.tar.gz
│ │ │ ├── missing-codepackage.tar.gz
│ │ │ ├── missing-metadata.tar.gz
│ │ │ ├── non-regular-file.tar.gz
│ │ │ └── too-many-files.tar.gz
│ ├── platforms
│ │ ├── car
│ │ │ ├── metadataprovider.go
│ │ │ ├── platform.go
│ │ │ ├── platform_test.go
│ │ │ ├── testdata
│ │ │ │ └── org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car
│ │ │ └── vm_helper_test.go
│ │ ├── ccmetadata
│ │ │ ├── ccmetadata.go
│ │ │ ├── targzmetadataprovider.go
│ │ │ ├── targzmetadataprovider_test.go
│ │ │ ├── validators.go
│ │ │ └── validators_test.go
│ │ ├── golang
│ │ │ ├── env.go
│ │ │ ├── env_test.go
│ │ │ ├── list.go
│ │ │ ├── list_test.go
│ │ │ ├── package.go
│ │ │ ├── platform.go
│ │ │ ├── platform_test.go
│ │ │ └── testdata
│ │ │ │ └── src
│ │ │ │ └── chaincodes
│ │ │ │ ├── AutoVendor
│ │ │ │ ├── chaincode
│ │ │ │ │ └── main.go
│ │ │ │ ├── directdep
│ │ │ │ │ └── core.go
│ │ │ │ └── indirectdep
│ │ │ │ │ └── core.go
│ │ │ │ ├── BadImport
│ │ │ │ └── main.go
│ │ │ │ ├── BadMetadataIgnoreHiddenFile
│ │ │ │ ├── META-INF
│ │ │ │ │ └── .hiddenfile
│ │ │ │ └── main.go
│ │ │ │ ├── BadMetadataInvalidIndex
│ │ │ │ ├── META-INF
│ │ │ │ │ └── statedb
│ │ │ │ │ │ └── couchdb
│ │ │ │ │ │ └── indexes
│ │ │ │ │ │ └── bad.json
│ │ │ │ └── main.go
│ │ │ │ └── BadMetadataUnexpectedFolderContent
│ │ │ │ ├── META-INF
│ │ │ │ └── unsupported_metadata_ocation.json
│ │ │ │ └── main.go
│ │ ├── java
│ │ │ ├── java_test.go
│ │ │ ├── platform.go
│ │ │ └── testdata
│ │ │ │ └── gradle
│ │ │ │ ├── build.gradle
│ │ │ │ ├── pom.xml
│ │ │ │ ├── settings.gradle
│ │ │ │ ├── src
│ │ │ │ └── main
│ │ │ │ │ └── java
│ │ │ │ │ └── example
│ │ │ │ │ ├── ExampleCC.java
│ │ │ │ │ └── examplecc.class
│ │ │ │ └── target
│ │ │ │ └── example
│ │ │ │ ├── ExampleCC.class
│ │ │ │ └── ExampleCC.java
│ │ ├── mock
│ │ │ ├── package_writer.go
│ │ │ └── platform.go
│ │ ├── node
│ │ │ ├── platform.go
│ │ │ └── platform_test.go
│ │ ├── platforms.go
│ │ ├── platforms_suite_test.go
│ │ ├── platforms_test.go
│ │ └── util
│ │ │ ├── hashtestfiles1
│ │ │ ├── a.txt
│ │ │ ├── a
│ │ │ │ ├── a1.txt
│ │ │ │ └── a2.txt
│ │ │ ├── b.txt
│ │ │ └── b
│ │ │ │ ├── c.txt
│ │ │ │ └── c
│ │ │ │ └── c1.txt
│ │ │ ├── hashtestfiles2
│ │ │ ├── x.txt
│ │ │ ├── x
│ │ │ │ ├── z.txt
│ │ │ │ └── z
│ │ │ │ │ └── z1.txt
│ │ │ ├── y.txt
│ │ │ └── y
│ │ │ │ ├── y1.txt
│ │ │ │ └── y2.txt
│ │ │ ├── utils.go
│ │ │ └── utils_test.go
│ ├── query_response_generator.go
│ ├── query_response_generator_test.go
│ ├── runtime_launcher.go
│ ├── runtime_launcher_test.go
│ ├── shim
│ │ ├── chaincode.go
│ │ ├── ext
│ │ │ ├── attrmgr
│ │ │ │ ├── attrmgr.go
│ │ │ │ └── attrmgr_test.go
│ │ │ ├── cid
│ │ │ │ ├── README.md
│ │ │ │ ├── cid.go
│ │ │ │ ├── cid_test.go
│ │ │ │ └── interfaces.go
│ │ │ ├── entities
│ │ │ │ ├── entities.go
│ │ │ │ ├── entities_test.go
│ │ │ │ ├── interfaces.go
│ │ │ │ ├── message.go
│ │ │ │ ├── message_test.go
│ │ │ │ └── testutils.go
│ │ │ └── statebased
│ │ │ │ ├── interfaces.go
│ │ │ │ ├── statebasedimpl.go
│ │ │ │ └── statebasedimpl_test.go
│ │ ├── handler.go
│ │ ├── inprocstream.go
│ │ ├── inprocstream_test.go
│ │ ├── interfaces.go
│ │ ├── mockstub.go
│ │ ├── mockstub_test.go
│ │ ├── response.go
│ │ └── shim_test.go
│ ├── testdata
│ │ ├── chaincode
│ │ │ ├── init_private_data
│ │ │ │ └── init_private_data.go
│ │ │ └── init_public_data
│ │ │ │ └── init_public_data.go
│ │ ├── server1.key
│ │ └── server1.pem
│ ├── transaction_context.go
│ ├── transaction_context_test.go
│ ├── transaction_contexts.go
│ └── transaction_contexts_test.go
├── comm
│ ├── client.go
│ ├── client_test.go
│ ├── config.go
│ ├── config_test.go
│ ├── connection.go
│ ├── connection_test.go
│ ├── creds.go
│ ├── creds_test.go
│ ├── metrics.go
│ ├── mock
│ │ ├── new_semaphore.go
│ │ ├── semaphore.go
│ │ ├── server_stream.go
│ │ ├── stream_handler.go
│ │ └── unary_handler.go
│ ├── producer.go
│ ├── producer_test.go
│ ├── server.go
│ ├── server_test.go
│ ├── serverstatshandler.go
│ ├── serverstatshandler_test.go
│ ├── testdata
│ │ ├── certs
│ │ │ ├── Org1-cert.pem
│ │ │ ├── Org1-child1-cert.pem
│ │ │ ├── Org1-child1-client1-cert.pem
│ │ │ ├── Org1-child1-client1-key.pem
│ │ │ ├── Org1-child1-client2-cert.pem
│ │ │ ├── Org1-child1-client2-key.pem
│ │ │ ├── Org1-child1-key.pem
│ │ │ ├── Org1-child1-server1-cert.pem
│ │ │ ├── Org1-child1-server1-key.pem
│ │ │ ├── Org1-child1-server2-cert.pem
│ │ │ ├── Org1-child1-server2-key.pem
│ │ │ ├── Org1-child2-cert.pem
│ │ │ ├── Org1-child2-client1-cert.pem
│ │ │ ├── Org1-child2-client1-key.pem
│ │ │ ├── Org1-child2-client2-cert.pem
│ │ │ ├── Org1-child2-client2-key.pem
│ │ │ ├── Org1-child2-key.pem
│ │ │ ├── Org1-child2-server1-cert.pem
│ │ │ ├── Org1-child2-server1-key.pem
│ │ │ ├── Org1-child2-server2-cert.pem
│ │ │ ├── Org1-child2-server2-key.pem
│ │ │ ├── Org1-client1-cert.pem
│ │ │ ├── Org1-client1-key.pem
│ │ │ ├── Org1-client2-cert.pem
│ │ │ ├── Org1-client2-key.pem
│ │ │ ├── Org1-key.pem
│ │ │ ├── Org1-server1-cert.pem
│ │ │ ├── Org1-server1-key.pem
│ │ │ ├── Org1-server2-cert.pem
│ │ │ ├── Org1-server2-key.pem
│ │ │ ├── Org2-cert.pem
│ │ │ ├── Org2-child1-cert.pem
│ │ │ ├── Org2-child1-client1-cert.pem
│ │ │ ├── Org2-child1-client1-key.pem
│ │ │ ├── Org2-child1-client2-cert.pem
│ │ │ ├── Org2-child1-client2-key.pem
│ │ │ ├── Org2-child1-key.pem
│ │ │ ├── Org2-child1-server1-cert.pem
│ │ │ ├── Org2-child1-server1-key.pem
│ │ │ ├── Org2-child1-server2-cert.pem
│ │ │ ├── Org2-child1-server2-key.pem
│ │ │ ├── Org2-child2-cert.pem
│ │ │ ├── Org2-child2-client1-cert.pem
│ │ │ ├── Org2-child2-client1-key.pem
│ │ │ ├── Org2-child2-client2-cert.pem
│ │ │ ├── Org2-child2-client2-key.pem
│ │ │ ├── Org2-child2-key.pem
│ │ │ ├── Org2-child2-server1-cert.pem
│ │ │ ├── Org2-child2-server1-key.pem
│ │ │ ├── Org2-child2-server2-cert.pem
│ │ │ ├── Org2-child2-server2-key.pem
│ │ │ ├── Org2-client1-cert.pem
│ │ │ ├── Org2-client1-key.pem
│ │ │ ├── Org2-client2-cert.pem
│ │ │ ├── Org2-client2-key.pem
│ │ │ ├── Org2-key.pem
│ │ │ ├── Org2-server1-cert.pem
│ │ │ ├── Org2-server1-key.pem
│ │ │ ├── Org2-server2-cert.pem
│ │ │ ├── Org2-server2-key.pem
│ │ │ └── generate.go
│ │ ├── dynamic_cert_update
│ │ │ ├── ca.crt
│ │ │ ├── localhost
│ │ │ │ ├── server.crt
│ │ │ │ └── server.key
│ │ │ └── notlocalhost
│ │ │ │ ├── server.crt
│ │ │ │ └── server.key
│ │ ├── grpc
│ │ │ ├── generate.go
│ │ │ ├── test.pb.go
│ │ │ └── test.proto
│ │ ├── impersonation
│ │ │ ├── orgA
│ │ │ │ ├── ca.crt
│ │ │ │ ├── server.crt
│ │ │ │ └── server.key
│ │ │ └── orgB
│ │ │ │ ├── ca.crt
│ │ │ │ ├── server.crt
│ │ │ │ └── server.key
│ │ ├── prime256v1-openssl-cert.pem
│ │ └── prime256v1-openssl-key.pem
│ ├── throttle.go
│ ├── throttle_test.go
│ ├── util.go
│ └── util_test.go
├── committer
│ ├── committer.go
│ ├── committer_impl.go
│ ├── committer_test.go
│ └── txvalidator
│ │ ├── mocks
│ │ ├── capabilities.go
│ │ ├── identity_deserializer.go
│ │ ├── plugin.go
│ │ ├── plugin_factory.go
│ │ ├── plugin_mapper.go
│ │ └── query_executor_creator.go
│ │ ├── plugin_validator.go
│ │ ├── plugin_validator_test.go
│ │ ├── testdata
│ │ └── test_plugin.go
│ │ ├── txvalidator_test.go
│ │ ├── validator.go
│ │ ├── validator_test.go
│ │ └── vscc_validator.go
├── common
│ ├── ccpackage
│ │ ├── ccpackage.go
│ │ └── ccpackage_test.go
│ ├── ccprovider
│ │ ├── cc_info_provider.go
│ │ ├── cc_statedb_artifacts_provider.go
│ │ ├── ccinfocache.go
│ │ ├── ccinfocache_test.go
│ │ ├── ccprovider.go
│ │ ├── ccprovider_test.go
│ │ ├── cdspackage.go
│ │ ├── cdspackage_test.go
│ │ ├── common.go
│ │ ├── sigcdspackage.go
│ │ └── sigcdspackage_test.go
│ ├── privdata
│ │ ├── collection.go
│ │ ├── collection_test.go
│ │ ├── membershipinfo.go
│ │ ├── membershipinfo_test.go
│ │ ├── simplecollection.go
│ │ ├── simplecollection_test.go
│ │ ├── store.go
│ │ ├── store_test.go
│ │ └── util.go
│ ├── sysccprovider
│ │ ├── sysccprovider.go
│ │ └── sysccprovider_test.go
│ └── validation
│ │ ├── config_test.go
│ │ ├── fullflow_test.go
│ │ ├── msgvalidation.go
│ │ ├── msgvalidation_test.go
│ │ └── statebased
│ │ ├── validator_keylevel.go
│ │ ├── validator_keylevel_test.go
│ │ ├── vpmanager.go
│ │ ├── vpmanager_test.go
│ │ └── vpmanagerimpl.go
├── config
│ ├── config.go
│ ├── config_test.go
│ └── configtest
│ │ ├── config.go
│ │ └── config_test.go
├── container
│ ├── ccintf
│ │ ├── ccintf.go
│ │ └── ccintf_test.go
│ ├── container_suite_test.go
│ ├── container_test.go
│ ├── controller.go
│ ├── controller_test.go
│ ├── dockercontroller
│ │ ├── dockercontroller.go
│ │ ├── dockercontroller_test.go
│ │ └── metrics.go
│ ├── inproccontroller
│ │ ├── inproccontroller.go
│ │ ├── inproccontroller_test.go
│ │ ├── inprocstream.go
│ │ └── inprocstream_test.go
│ ├── mock
│ │ ├── builder.go
│ │ ├── vm.go
│ │ ├── vm_provider.go
│ │ └── vm_req.go
│ └── util
│ │ ├── dockerutil.go
│ │ ├── dockerutil_test.go
│ │ ├── testdata
│ │ ├── BadMetadataInvalidIndex
│ │ │ └── META-INF
│ │ │ │ └── statedb
│ │ │ │ └── couchdb
│ │ │ │ └── indexes
│ │ │ │ └── bad.json
│ │ ├── BadMetadataUnexpectedFolderContent
│ │ │ ├── META-INF
│ │ │ │ └── unsupported_metadata_location.json
│ │ │ └── main.go
│ │ └── sourcefiles
│ │ │ ├── META-INF
│ │ │ ├── .hiddenfile
│ │ │ └── statedb
│ │ │ │ └── couchdb
│ │ │ │ └── indexes
│ │ │ │ └── indexOwner.json
│ │ │ ├── artifact.xml
│ │ │ └── src
│ │ │ ├── Hello.class
│ │ │ ├── Hello.java
│ │ │ └── main.go
│ │ ├── writer.go
│ │ └── writer_test.go
├── deliverservice
│ ├── blocksprovider
│ │ ├── blocksprovider.go
│ │ └── blocksprovider_test.go
│ ├── client.go
│ ├── client_test.go
│ ├── deliveryclient.go
│ ├── deliveryclient_test.go
│ ├── mocks
│ │ ├── blocksprovider.go
│ │ ├── blocksprovider_test.go
│ │ ├── orderer.go
│ │ └── orderer_test.go
│ ├── requester.go
│ ├── requester_test.go
│ └── testdata
│ │ ├── ca.pem
│ │ ├── cert.pem
│ │ └── key.pem
├── endorser
│ ├── endorser.go
│ ├── endorser_test.go
│ ├── metrics.go
│ ├── metrics_test.go
│ ├── mocks
│ │ ├── channel_state_retriever.go
│ │ ├── plugin.go
│ │ ├── plugin_factory.go
│ │ ├── plugin_mapper.go
│ │ ├── query_creator.go
│ │ ├── signing_identity_fetcher.go
│ │ ├── store.go
│ │ ├── support.go
│ │ └── transient_store_retriever.go
│ ├── plugin_endorser.go
│ ├── plugin_endorser_test.go
│ ├── pvtrwset_assembler.go
│ ├── pvtrwset_assembler_test.go
│ ├── state.go
│ └── support.go
├── handlers
│ ├── auth
│ │ ├── auth.go
│ │ ├── auth_test.go
│ │ ├── filter
│ │ │ ├── expiration.go
│ │ │ ├── expiration_test.go
│ │ │ ├── filter.go
│ │ │ ├── filter_test.go
│ │ │ └── testdata
│ │ │ │ ├── expiredCert.pem
│ │ │ │ └── notExpiredCert.pem
│ │ └── plugin
│ │ │ ├── filter.go
│ │ │ └── filter_test.go
│ ├── decoration
│ │ ├── decoration.go
│ │ ├── decoration_test.go
│ │ ├── decorator
│ │ │ ├── decorator.go
│ │ │ └── decorator_test.go
│ │ └── plugin
│ │ │ ├── decorator.go
│ │ │ └── decorator_test.go
│ ├── endorsement
│ │ ├── api
│ │ │ ├── endorsement.go
│ │ │ ├── identities
│ │ │ │ └── identities.go
│ │ │ └── state
│ │ │ │ └── state.go
│ │ ├── builtin
│ │ │ ├── default_endorsement.go
│ │ │ ├── default_endorsement_test.go
│ │ │ └── mocks
│ │ │ │ └── signing_identity.go
│ │ ├── plugin
│ │ │ ├── plugin.go
│ │ │ └── plugin_test.go
│ │ └── testdata
│ │ │ └── noop_endorser.go
│ ├── library
│ │ ├── library.go
│ │ ├── race_test.go
│ │ ├── registry.go
│ │ ├── registry_plugin_test.go
│ │ └── registry_test.go
│ └── validation
│ │ ├── api
│ │ ├── capabilities
│ │ │ └── capabilities.go
│ │ ├── identities
│ │ │ └── identities.go
│ │ ├── policies
│ │ │ └── policies.go
│ │ ├── state
│ │ │ └── state.go
│ │ └── validation.go
│ │ ├── builtin
│ │ ├── default_validation.go
│ │ ├── default_validation_test.go
│ │ ├── mocks
│ │ │ └── transaction_validator.go
│ │ ├── v12
│ │ │ ├── mocks
│ │ │ │ ├── capabilities.go
│ │ │ │ ├── identity_deserializer.go
│ │ │ │ ├── policy_evaluator.go
│ │ │ │ └── state_fetcher.go
│ │ │ ├── validation_logic.go
│ │ │ └── validation_logic_test.go
│ │ └── v13
│ │ │ ├── lscc_validation_logic.go
│ │ │ ├── mocks
│ │ │ ├── capabilities.go
│ │ │ ├── identity_deserializer.go
│ │ │ ├── policy_evaluator.go
│ │ │ ├── state_based_validator.go
│ │ │ └── state_fetcher.go
│ │ │ ├── validation_logic.go
│ │ │ ├── validation_logic_test.go
│ │ │ └── validator.go
│ │ ├── testdata
│ │ └── noop_validator.go
│ │ └── token
│ │ ├── validation.go
│ │ └── validation_test.go
├── ledger
│ ├── cceventmgmt
│ │ ├── defs.go
│ │ ├── lsccstate_listener.go
│ │ ├── mgmt_test.go
│ │ └── mgr.go
│ ├── confighistory
│ │ ├── db_helper.go
│ │ ├── db_helper_test.go
│ │ ├── mgr.go
│ │ └── mgr_test.go
│ ├── customtx
│ │ ├── custom_tx_processor.go
│ │ ├── interface.go
│ │ └── test_export.go
│ ├── kvledger
│ │ ├── bookkeeping
│ │ │ ├── provider.go
│ │ │ ├── provider_test.go
│ │ │ └── test_exports.go
│ │ ├── coll_elg_notifier.go
│ │ ├── coll_elg_notifier_test.go
│ │ ├── custom_processor_test.go
│ │ ├── hashcheck_pvtdata.go
│ │ ├── hashcheck_pvtdata_test.go
│ │ ├── history
│ │ │ └── historydb
│ │ │ │ ├── histmgr_helper.go
│ │ │ │ ├── histmgr_helper_test.go
│ │ │ │ ├── historydb.go
│ │ │ │ └── historyleveldb
│ │ │ │ ├── historyleveldb.go
│ │ │ │ ├── historyleveldb_query_executer.go
│ │ │ │ ├── historyleveldb_test.go
│ │ │ │ └── pkg_test.go
│ │ ├── kv_ledger.go
│ │ ├── kv_ledger_provider.go
│ │ ├── kv_ledger_provider_test.go
│ │ ├── kv_ledger_test.go
│ │ ├── metrics.go
│ │ ├── metrics_test.go
│ │ ├── pkg_test.go
│ │ ├── recovery.go
│ │ ├── state_listener_test.go
│ │ ├── tests
│ │ │ ├── client.go
│ │ │ ├── committer.go
│ │ │ ├── env.go
│ │ │ ├── ledger_test.go
│ │ │ ├── pvtdata_test.go
│ │ │ ├── rebuild_test.go
│ │ │ ├── sample_data_helper.go
│ │ │ ├── test_helper.go
│ │ │ ├── testdata
│ │ │ │ └── v11
│ │ │ │ │ └── sample_ledgers
│ │ │ │ │ └── ledgersData
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── chains
│ │ │ │ │ ├── chains
│ │ │ │ │ │ ├── ledger1
│ │ │ │ │ │ │ └── blockfile_000000
│ │ │ │ │ │ └── ledger2
│ │ │ │ │ │ │ └── blockfile_000000
│ │ │ │ │ └── index
│ │ │ │ │ │ ├── 000001.log
│ │ │ │ │ │ ├── CURRENT
│ │ │ │ │ │ └── MANIFEST-000000
│ │ │ │ │ ├── historyLeveldb
│ │ │ │ │ ├── 000001.log
│ │ │ │ │ ├── CURRENT
│ │ │ │ │ └── MANIFEST-000000
│ │ │ │ │ ├── ledgerProvider
│ │ │ │ │ ├── 000001.log
│ │ │ │ │ ├── CURRENT
│ │ │ │ │ └── MANIFEST-000000
│ │ │ │ │ ├── pvtdataStore
│ │ │ │ │ ├── 000001.log
│ │ │ │ │ ├── CURRENT
│ │ │ │ │ └── MANIFEST-000000
│ │ │ │ │ └── stateLeveldb
│ │ │ │ │ ├── 000001.log
│ │ │ │ │ ├── CURRENT
│ │ │ │ │ └── MANIFEST-000000
│ │ │ ├── util.go
│ │ │ ├── v11_test.go
│ │ │ └── verifier.go
│ │ └── txmgmt
│ │ │ ├── privacyenabledstate
│ │ │ ├── common_storage_db.go
│ │ │ ├── common_storage_db_test.go
│ │ │ ├── db.go
│ │ │ ├── db_test.go
│ │ │ ├── optimization.go
│ │ │ ├── optimization_test.go
│ │ │ └── test_exports.go
│ │ │ ├── pvtstatepurgemgmt
│ │ │ ├── expiry_keeper.go
│ │ │ ├── expiry_keeper_test.go
│ │ │ ├── expiry_schedule_builder.go
│ │ │ ├── expiry_schedule_builder_test.go
│ │ │ ├── purge_mgr.go
│ │ │ ├── purge_mgr_test.go
│ │ │ ├── pvtdata_key.pb.go
│ │ │ ├── pvtdata_key.proto
│ │ │ └── pvtdata_key_helper.go
│ │ │ ├── queryutil
│ │ │ ├── combiner_test.go
│ │ │ ├── iterator_combiner.go
│ │ │ ├── mock
│ │ │ │ └── query_executer.go
│ │ │ └── query_executer_combiner.go
│ │ │ ├── rwsetutil
│ │ │ ├── query_results_helper.go
│ │ │ ├── query_results_helper_test.go
│ │ │ ├── rwset_builder.go
│ │ │ ├── rwset_builder_test.go
│ │ │ ├── rwset_proto_util.go
│ │ │ └── rwset_proto_util_test.go
│ │ │ ├── statedb
│ │ │ ├── commontests
│ │ │ │ └── test_common.go
│ │ │ ├── mock
│ │ │ │ ├── results_iterator.go
│ │ │ │ └── versioned_db.go
│ │ │ ├── statecouchdb
│ │ │ │ ├── batch_util.go
│ │ │ │ ├── commit_handling.go
│ │ │ │ ├── couchdoc_conv.go
│ │ │ │ ├── metadata_retrieval.go
│ │ │ │ ├── msgs
│ │ │ │ │ ├── msgs.pb.go
│ │ │ │ │ └── msgs.proto
│ │ │ │ ├── statecouchdb.go
│ │ │ │ ├── statecouchdb_test.go
│ │ │ │ ├── statecouchdb_test_export.go
│ │ │ │ ├── version_cache.go
│ │ │ │ ├── version_cache_test.go
│ │ │ │ ├── version_field_encoding.go
│ │ │ │ └── version_field_encoding_test.go
│ │ │ ├── statedb.go
│ │ │ ├── statedb_test.go
│ │ │ └── stateleveldb
│ │ │ │ ├── msgs
│ │ │ │ ├── storage.pb.go
│ │ │ │ └── storage.proto
│ │ │ │ ├── stateleveldb.go
│ │ │ │ ├── stateleveldb_test.go
│ │ │ │ ├── stateleveldb_test_export.go
│ │ │ │ ├── value_encoding.go
│ │ │ │ └── value_encoding_test.go
│ │ │ ├── storageutil
│ │ │ ├── metadata.go
│ │ │ └── serialize_deserialize_test.go
│ │ │ ├── txmgr
│ │ │ ├── lockbasedtxmgr
│ │ │ │ ├── collection_val.go
│ │ │ │ ├── collection_val_test.go
│ │ │ │ ├── helper.go
│ │ │ │ ├── helper_test.go
│ │ │ │ ├── lockbased_query_executer.go
│ │ │ │ ├── lockbased_tx_simulator.go
│ │ │ │ ├── lockbased_txmgr.go
│ │ │ │ ├── pkg_test.go
│ │ │ │ ├── state_listener_test.go
│ │ │ │ └── txmgr_test.go
│ │ │ └── txmgr.go
│ │ │ ├── validator
│ │ │ ├── internal
│ │ │ │ ├── tx_ops_preparation.go
│ │ │ │ ├── tx_ops_preparation_test.go
│ │ │ │ ├── val.go
│ │ │ │ └── val_test.go
│ │ │ ├── statebasedval
│ │ │ │ ├── combined_iterator.go
│ │ │ │ ├── combined_iterator_test.go
│ │ │ │ ├── range_query_validator.go
│ │ │ │ ├── range_query_validator_test.go
│ │ │ │ ├── state_based_validator.go
│ │ │ │ └── state_based_validator_test.go
│ │ │ ├── validator.go
│ │ │ └── valimpl
│ │ │ │ ├── default_impl.go
│ │ │ │ ├── helper.go
│ │ │ │ └── helper_test.go
│ │ │ └── version
│ │ │ ├── version.go
│ │ │ └── version_test.go
│ ├── ledger_interface.go
│ ├── ledgerconfig
│ │ ├── ledger_config.go
│ │ └── ledger_config_test.go
│ ├── ledgermgmt
│ │ ├── ledger_mgmt.go
│ │ ├── ledger_mgmt_test.go
│ │ └── ledger_mgmt_test_exports.go
│ ├── ledgerstorage
│ │ ├── pkg_test.go
│ │ ├── store.go
│ │ └── store_test.go
│ ├── mock
│ │ ├── deployed_ccinfo_provider.go
│ │ ├── health_check_registry.go
│ │ ├── membership_info_provider.go
│ │ └── state_listener.go
│ ├── pkg_test.go
│ ├── pvtdatapolicy
│ │ ├── btlpolicy.go
│ │ ├── btlpolicy_test.go
│ │ ├── mock
│ │ │ └── coll_info_provider.go
│ │ └── testutil
│ │ │ └── util.go
│ ├── pvtdatastorage
│ │ ├── helper.go
│ │ ├── kv_encoding.go
│ │ ├── kv_encoding_test.go
│ │ ├── persistent_msgs.pb.go
│ │ ├── persistent_msgs.proto
│ │ ├── persistent_msgs_helper.go
│ │ ├── store.go
│ │ ├── store_impl.go
│ │ ├── store_impl_test.go
│ │ ├── test_exports.go
│ │ ├── testdata
│ │ │ └── v11_v12
│ │ │ │ └── ledgersData
│ │ │ │ └── pvtdataStore
│ │ │ │ ├── 000002.ldb
│ │ │ │ ├── 000005.ldb
│ │ │ │ ├── CURRENT
│ │ │ │ ├── LOCK
│ │ │ │ ├── LOG
│ │ │ │ └── MANIFEST-000065
│ │ ├── v11.go
│ │ └── v11_V12_test.go
│ ├── testutil
│ │ ├── test_util.go
│ │ └── test_util_test.go
│ └── util
│ │ ├── couchdb
│ │ ├── config.go
│ │ ├── config_test.go
│ │ ├── couchdb.go
│ │ ├── couchdb_test.go
│ │ ├── couchdbutil.go
│ │ ├── couchdbutil_test.go
│ │ ├── metrics.go
│ │ └── metrics_test.go
│ │ ├── txvalidationflags.go
│ │ ├── txvalidationflags_test.go
│ │ ├── uint64_encoding.go
│ │ ├── util.go
│ │ └── util_test.go
├── middleware
│ ├── chain.go
│ ├── chain_test.go
│ ├── fakes
│ │ └── http_handler.go
│ ├── middleware_suite_test.go
│ ├── request_id.go
│ ├── request_id_test.go
│ ├── require_cert.go
│ └── require_cert_test.go
├── mocks
│ ├── ccprovider
│ │ └── ccprovider.go
│ ├── endorser
│ │ └── support.go
│ ├── peer
│ │ └── support.go
│ ├── scc
│ │ └── lscc
│ │ │ └── support.go
│ ├── txvalidator
│ │ └── support.go
│ └── validator
│ │ └── validator.go
├── operations
│ ├── fakes
│ │ ├── healthchecker.go
│ │ └── logger.go
│ ├── metrics.go
│ ├── operations_suite_test.go
│ ├── system.go
│ ├── system_test.go
│ ├── tls.go
│ └── tls_test.go
├── peer
│ ├── config.go
│ ├── config_test.go
│ ├── configtx_processor.go
│ ├── configtx_test.go
│ ├── configtx_util.go
│ ├── deliverevents.go
│ ├── deliverevents_test.go
│ ├── mock_helpers.go
│ ├── peer.go
│ ├── peer_impl.go
│ ├── peer_test.go
│ ├── pkg_test.go
│ ├── support.go
│ └── testdata
│ │ ├── Org1-cert.pem
│ │ ├── Org1-server1-cert.pem
│ │ ├── Org1-server1-key.pem
│ │ ├── Org2-cert.pem
│ │ ├── Org2-child1-cert.pem
│ │ ├── Org2-child1-key.pem
│ │ ├── Org2-child1-server1-cert.pem
│ │ ├── Org2-child1-server1-key.pem
│ │ ├── Org2-server1-cert.pem
│ │ ├── Org2-server1-key.pem
│ │ ├── Org3-cert.pem
│ │ ├── Org3-server1-cert.pem
│ │ ├── Org3-server1-key.pem
│ │ └── generate.go
├── policy
│ ├── mocks
│ │ └── mocks.go
│ ├── policy.go
│ └── policy_test.go
├── policyprovider
│ ├── provider.go
│ └── provider_test.go
├── scc
│ ├── cscc
│ │ ├── configure.go
│ │ ├── configure_test.go
│ │ └── mock
│ │ │ ├── acl_provider.go
│ │ │ ├── config_manager.go
│ │ │ └── configtx_validator.go
│ ├── importsysccs.go
│ ├── loadsysccs.go
│ ├── loadsysccs_test.go
│ ├── lscc
│ │ ├── deployedcc_infoprovider.go
│ │ ├── deployedcc_infoprovider_test.go
│ │ ├── errors.go
│ │ ├── lscc.go
│ │ ├── lscc_noncc_test.go
│ │ ├── lscc_suite_test.go
│ │ ├── lscc_test.go
│ │ ├── mock
│ │ │ ├── cc_package.go
│ │ │ ├── chaincode_stub.go
│ │ │ ├── fs_support.go
│ │ │ ├── query_executor.go
│ │ │ ├── state_query_iterator.go
│ │ │ └── sysccprovider.go
│ │ └── support.go
│ ├── qscc
│ │ ├── query.go
│ │ └── query_test.go
│ ├── race_test.go
│ ├── register.go
│ ├── register_pluginsenabled.go
│ ├── scc_test.go
│ ├── sccproviderimpl.go
│ └── sysccapi.go
├── testutil
│ └── config.go
└── transientstore
│ ├── store.go
│ ├── store_helper.go
│ ├── store_test.go
│ └── test_exports.go
├── devenv
├── README.md
├── Vagrantfile
├── failure-motd.in
├── golang_buildcmd.sh
├── golang_buildpkg.sh
├── images
│ └── openchain-dev-env-deployment-diagram.png
├── install_nvm.sh
├── limits.conf
├── setup.sh
├── setupRHELonZ.sh
├── setupUbuntuOnPPC64le.sh
└── tools
│ └── couchdb
├── discovery
├── api.go
├── authcache.go
├── authcache_test.go
├── client
│ ├── api.go
│ ├── client.go
│ ├── client_test.go
│ ├── selection.go
│ ├── selection_test.go
│ ├── signer.go
│ ├── signer_test.go
│ └── testdata
│ │ ├── client
│ │ ├── cert.pem
│ │ └── key.pem
│ │ └── server
│ │ ├── ca.pem
│ │ ├── cert.pem
│ │ └── key.pem
├── cmd
│ ├── cmd.go
│ ├── cmd_test.go
│ ├── config.go
│ ├── config_test.go
│ ├── endorsers.go
│ ├── endorsers_test.go
│ ├── mocks
│ │ ├── channel_response.go
│ │ ├── command_registrar.go
│ │ ├── local_response.go
│ │ ├── response_parser.go
│ │ ├── service_response.go
│ │ └── stub.go
│ ├── peers.go
│ ├── peers_test.go
│ ├── stub.go
│ ├── stub_test.go
│ └── testdata
│ │ ├── 8150cb2d09628ccc89727611ebb736189f6482747eff9b8aaaa27e9a382d2e93_sk
│ │ └── cert.pem
├── endorsement
│ ├── collection.go
│ ├── collection_test.go
│ ├── endorsement.go
│ └── endorsement_test.go
├── service.go
├── service_test.go
├── support
│ ├── acl
│ │ ├── support.go
│ │ └── support_test.go
│ ├── chaincode
│ │ ├── support.go
│ │ └── support_test.go
│ ├── config
│ │ ├── support.go
│ │ ├── support_test.go
│ │ └── testdata
│ │ │ └── configtx.yaml
│ ├── gossip
│ │ ├── support.go
│ │ └── support_test.go
│ ├── mocks
│ │ ├── chanconfig.go
│ │ ├── channel_policy_manager_getter.go
│ │ ├── config.go
│ │ ├── configtxvalidator.go
│ │ ├── evaluator.go
│ │ ├── gossip.go
│ │ ├── gossip_support.go
│ │ ├── identity.go
│ │ ├── mspmgr.go
│ │ ├── resources.go
│ │ └── verifier.go
│ └── support.go
└── test
│ └── integration_test.go
├── docker-env.mk
├── docs
├── .gitignore
├── Makefile
├── README.md
├── custom_theme
│ └── searchbox.html
├── requirements.txt
├── source
│ ├── CONTRIBUTING.rst
│ ├── DCO1.1.txt
│ ├── Fabric-FAQ.rst
│ ├── Gerrit
│ │ ├── best-practices.rst
│ │ ├── changes.rst
│ │ ├── gerrit.rst
│ │ ├── lf-account.rst
│ │ └── reviewing.rst
│ ├── MAINTAINERS.rst
│ ├── Style-guides
│ │ └── go-style.rst
│ ├── _static
│ │ ├── css
│ │ │ └── custom.css
│ │ └── images
│ │ │ ├── github_button.png
│ │ │ ├── rocketchat_button.png
│ │ │ ├── stackoverflow_button.png
│ │ │ └── youtube_button.png
│ ├── _templates
│ │ ├── footer.html
│ │ └── layout.html
│ ├── access_control.md
│ ├── arch-deep-dive.rst
│ ├── architecture.rst
│ ├── blockchain.rst
│ ├── build_network.rst
│ ├── capability_requirements.rst
│ ├── chaincode.rst
│ ├── chaincode4ade.rst
│ ├── chaincode4noah.rst
│ ├── channel_update_tutorial.rst
│ ├── channels.rst
│ ├── command_ref.rst
│ ├── commands
│ │ ├── configtxgen.md
│ │ ├── configtxlator.md
│ │ ├── cryptogen.md
│ │ ├── fabric-ca-commands.rst
│ │ ├── peerchaincode.md
│ │ ├── peerchannel.md
│ │ ├── peercommand.md
│ │ ├── peerlogging.md
│ │ ├── peernode.md
│ │ └── peerversion.md
│ ├── conf.py
│ ├── config_update.md
│ ├── configtx.rst
│ ├── couchdb_as_state_database.rst
│ ├── couchdb_tutorial.rst
│ ├── dev-setup
│ │ ├── build.rst
│ │ ├── devenv.rst
│ │ └── headers.txt
│ ├── developapps
│ │ ├── analysis.md
│ │ ├── apis.md
│ │ ├── application.md
│ │ ├── architecture.md
│ │ ├── chaincodenamespace.md
│ │ ├── connectionoptions.md
│ │ ├── connectionprofile.md
│ │ ├── designelements.rst
│ │ ├── develop.diagram.1.png
│ │ ├── develop.diagram.10.png
│ │ ├── develop.diagram.11.png
│ │ ├── develop.diagram.12.png
│ │ ├── develop.diagram.13.png
│ │ ├── develop.diagram.2.png
│ │ ├── develop.diagram.25.png
│ │ ├── develop.diagram.3.png
│ │ ├── develop.diagram.30.png
│ │ ├── develop.diagram.35.png
│ │ ├── develop.diagram.4.png
│ │ ├── develop.diagram.5.png
│ │ ├── develop.diagram.50.png
│ │ ├── develop.diagram.51.png
│ │ ├── develop.diagram.6.png
│ │ ├── develop.diagram.7.png
│ │ ├── develop.diagram.8.png
│ │ ├── developing_applications.rst
│ │ ├── diagrams.pptx
│ │ ├── endorsementpolicies.md
│ │ ├── gateway.md
│ │ ├── namespace.md
│ │ ├── scenario.md
│ │ ├── smartcontract.md
│ │ ├── transactioncontext.md
│ │ ├── transactionhandler.md
│ │ └── wallet.md
│ ├── diagrams
│ │ └── diagrams.pptx
│ ├── discovery-cli.md
│ ├── discovery-overview.rst
│ ├── enable_tls.rst
│ ├── endorsement-policies.rst
│ ├── error-handling.rst
│ ├── fabric-sdks.rst
│ ├── fabric_model.rst
│ ├── functionalities.rst
│ ├── getting_started.rst
│ ├── glossary.rst
│ ├── glossary
│ │ ├── diagrams.pptx
│ │ ├── glossary.block.png
│ │ ├── glossary.blockchain.png
│ │ ├── glossary.channel.png
│ │ ├── glossary.ledger.png
│ │ ├── glossary.msp.png
│ │ ├── glossary.orderer.png
│ │ ├── glossary.orderingservice.png
│ │ ├── glossary.organization.png
│ │ ├── glossary.peer.png
│ │ ├── glossary.transaction.png
│ │ └── glossary.worldstate.png
│ ├── gossip.rst
│ ├── idemix.rst
│ ├── idemixgen.rst
│ ├── identity
│ │ ├── identity.diagram.1.png
│ │ ├── identity.diagram.10.png
│ │ ├── identity.diagram.11.png
│ │ ├── identity.diagram.12.png
│ │ ├── identity.diagram.6.png
│ │ ├── identity.diagram.7.png
│ │ ├── identity.diagram.8.png
│ │ ├── identity.diagram.9.png
│ │ └── identity.md
│ ├── images
│ │ ├── AddSSH1.png
│ │ ├── AddSSH2.png
│ │ ├── AppConceptsOverview.png
│ │ ├── GitCloneCmd.png
│ │ ├── Jira.png
│ │ ├── Jira1.png
│ │ ├── Jira2.png
│ │ ├── Jira3.png
│ │ ├── Jira4.png
│ │ ├── NewGerritUI.png
│ │ ├── QueryingtheLedger.png
│ │ ├── RunningtheSample.png
│ │ ├── SSHKeys.png
│ │ ├── Settings.png
│ │ ├── SideDB-org1.png
│ │ ├── SideDB-org2.png
│ │ ├── SideDB-peer.png
│ │ ├── SideDB.png
│ │ ├── SideDBTutorialImages.pptx
│ │ ├── Smart_Contract.png
│ │ ├── UpdatingtheLedger.png
│ │ ├── attributes_flow.png
│ │ ├── basic_network.png
│ │ ├── blocks-3.png
│ │ ├── chaincode_swimlane.png
│ │ ├── consensus.png
│ │ ├── couchdb_tutorial_pkg_example.png
│ │ ├── current_network.png
│ │ ├── flow-4.png
│ │ ├── future_net.png
│ │ ├── hyperledger_fabric_logo_color.png
│ │ ├── idemix-overview.png
│ │ ├── idemix-three-steps.png
│ │ ├── idmx-audit.png
│ │ ├── idmx-contribution.png
│ │ ├── idmx-revocation.png
│ │ ├── idmx-steps.png
│ │ ├── idmx-vs-x509.png
│ │ ├── lf-sandbox.png
│ │ ├── standalone-app-developer.png
│ │ ├── step0.png
│ │ ├── step1.png
│ │ ├── step2.png
│ │ ├── step3.png
│ │ ├── step4.png
│ │ ├── step5.png
│ │ ├── step6.png
│ │ ├── what.png
│ │ └── world_view.png
│ ├── index.rst
│ ├── install.rst
│ ├── jira_navigation.rst
│ ├── kafka.rst
│ ├── key_concepts.rst
│ ├── ledger.rst
│ ├── ledger
│ │ ├── ledger.diagram.1.png
│ │ ├── ledger.diagram.2.png
│ │ ├── ledger.diagram.3.png
│ │ ├── ledger.diagram.4.png
│ │ ├── ledger.diagram.5.png
│ │ ├── ledger.diagram.6.png
│ │ └── ledger.md
│ ├── logging-control.rst
│ ├── mdtorst.sh
│ ├── membership
│ │ ├── membership.diagram.2.png
│ │ ├── membership.diagram.3.png
│ │ ├── membership.diagram.4.png
│ │ ├── membership.diagram.5.png
│ │ └── membership.md
│ ├── metrics_reference.rst
│ ├── metrics_reference.rst.tmpl
│ ├── msp-identity-validity-rules.rst
│ ├── msp.rst
│ ├── network
│ │ ├── network.diagram.1.png
│ │ ├── network.diagram.10.png
│ │ ├── network.diagram.11.png
│ │ ├── network.diagram.12.png
│ │ ├── network.diagram.14.png
│ │ ├── network.diagram.15.png
│ │ ├── network.diagram.2.1.png
│ │ ├── network.diagram.2.png
│ │ ├── network.diagram.3.png
│ │ ├── network.diagram.4.png
│ │ ├── network.diagram.5.png
│ │ ├── network.diagram.6.png
│ │ ├── network.diagram.7.png
│ │ ├── network.diagram.8.png
│ │ ├── network.diagram.9.png
│ │ └── network.md
│ ├── operations_service.rst
│ ├── ops_guide.rst
│ ├── peer-chaincode-devmode.rst
│ ├── peer_event_services.rst
│ ├── peers
│ │ ├── peers.diagram.1.png
│ │ ├── peers.diagram.10.png
│ │ ├── peers.diagram.11.png
│ │ ├── peers.diagram.12.png
│ │ ├── peers.diagram.2.png
│ │ ├── peers.diagram.3.png
│ │ ├── peers.diagram.4.png
│ │ ├── peers.diagram.5.png
│ │ ├── peers.diagram.6.png
│ │ ├── peers.diagram.8.png
│ │ ├── peers.diagram.9.png
│ │ └── peers.md
│ ├── pluggable_endorsement_and_validation.rst
│ ├── policies.rst
│ ├── prereqs.rst
│ ├── private-data-arch.rst
│ ├── private-data
│ │ ├── PrivateDataConcept-1.png
│ │ ├── PrivateDataConcept-2.png
│ │ ├── PrivateDataConcept-3.png
│ │ ├── PrivateDataConceptImages.pptx
│ │ ├── SideDB-peer.png
│ │ ├── SideDB.png
│ │ └── private-data.md
│ ├── private_data_tutorial.rst
│ ├── questions.rst
│ ├── readwrite.rst
│ ├── releases.rst
│ ├── requirements.txt
│ ├── security_model.rst
│ ├── smartcontract.rst
│ ├── status.rst
│ ├── submit_cr.rst
│ ├── systemchaincode.rst
│ ├── tutorial
│ │ ├── commercial_paper.diagram.1.png
│ │ ├── commercial_paper.diagram.10.png
│ │ ├── commercial_paper.diagram.11.png
│ │ ├── commercial_paper.diagram.12.png
│ │ ├── commercial_paper.diagram.2.png
│ │ ├── commercial_paper.diagram.3.png
│ │ ├── commercial_paper.diagram.4.png
│ │ ├── commercial_paper.diagram.5.png
│ │ ├── commercial_paper.diagram.6.png
│ │ ├── commercial_paper.diagram.7.png
│ │ ├── commercial_paper.diagram.8.png
│ │ ├── commercial_paper.md
│ │ ├── diagrams.pptx
│ │ ├── installxcode.md
│ │ ├── write_first_app.diagram.1.png
│ │ └── write_first_app.diagram.2.png
│ ├── tutorials.rst
│ ├── txflow.rst
│ ├── understand_fabcar_network.rst
│ ├── upgrade_to_newest_version.rst
│ ├── upgrading_your_network_tutorial.rst
│ ├── usecases.rst
│ ├── videos.rst
│ ├── whatis.md
│ ├── whatsnew.rst
│ └── write_first_app.rst
└── wrappers
│ ├── configtxgen_postscript.md
│ ├── configtxgen_preamble.md
│ ├── configtxlator_postscript.md
│ ├── configtxlator_preamble.md
│ ├── cryptogen_postscript.md
│ ├── cryptogen_preamble.md
│ ├── license_postscript.md
│ ├── peer_chaincode_postscript.md
│ ├── peer_chaincode_preamble.md
│ ├── peer_channel_postscript.md
│ ├── peer_channel_preamble.md
│ ├── peer_logging_postscript.md
│ ├── peer_logging_preamble.md
│ ├── peer_node_postscript.md
│ ├── peer_node_preamble.md
│ └── peer_version_preamble.md
├── examples
├── chaincode
│ └── go
│ │ ├── enccc_example
│ │ ├── README.md
│ │ ├── enccc_example.go
│ │ ├── enccc_test.go
│ │ └── utils.go
│ │ ├── eventsender
│ │ └── eventsender.go
│ │ ├── example01
│ │ ├── chaincode.go
│ │ └── cmd
│ │ │ └── main.go
│ │ ├── example02
│ │ ├── chaincode.go
│ │ ├── chaincode_test.go
│ │ └── cmd
│ │ │ └── main.go
│ │ ├── example03
│ │ ├── chaincode.go
│ │ ├── chaincode_test.go
│ │ └── cmd
│ │ │ └── main.go
│ │ ├── example04
│ │ ├── chaincode.go
│ │ ├── chaincode_test.go
│ │ └── cmd
│ │ │ └── main.go
│ │ ├── example05
│ │ ├── chaincode.go
│ │ ├── chaincode_test.go
│ │ └── cmd
│ │ │ └── main.go
│ │ ├── invokereturnsvalue
│ │ ├── invokereturnsvalue.go
│ │ └── invokereturnsvalue_test.go
│ │ ├── map
│ │ └── map.go
│ │ ├── marbles02
│ │ ├── META-INF
│ │ │ └── statedb
│ │ │ │ └── couchdb
│ │ │ │ └── indexes
│ │ │ │ └── indexOwner.json
│ │ └── marbles_chaincode.go
│ │ ├── passthru
│ │ └── passthru.go
│ │ └── sleeper
│ │ └── sleeper.go
├── cluster
│ ├── Makefile
│ ├── compose
│ │ ├── compose-up.sh.in
│ │ ├── configure.sh.in
│ │ └── docker-compose.yaml.in
│ ├── config
│ │ ├── configtx.yaml
│ │ ├── core.yaml
│ │ ├── cryptogen.yaml
│ │ ├── fabric-ca-server-config.yaml
│ │ ├── fabric-tlsca-server-config.yaml
│ │ └── orderer.yaml
│ └── usage.txt
├── configtxupdate
│ ├── README.md
│ ├── bootstrap_batchsize
│ │ └── script.sh
│ ├── common_scripts
│ │ └── common.sh
│ ├── reconfig_batchsize
│ │ └── script.sh
│ └── reconfig_membership
│ │ └── script.sh
├── events
│ └── eventsclient
│ │ ├── README.md
│ │ └── eventsclient.go
└── plugins
│ ├── bccsp
│ └── plugin.go
│ └── scc
│ └── plugin.go
├── gossip
├── api
│ ├── api_test.go
│ ├── channel.go
│ ├── crypto.go
│ └── subchannel.go
├── comm
│ ├── ack.go
│ ├── ack_test.go
│ ├── comm.go
│ ├── comm_impl.go
│ ├── comm_test.go
│ ├── conn.go
│ ├── crypto.go
│ ├── crypto_test.go
│ ├── demux.go
│ ├── demux_test.go
│ ├── mock
│ │ ├── mock_comm.go
│ │ └── mock_comm_test.go
│ └── msg.go
├── common
│ ├── cert.go
│ ├── common.go
│ └── common_test.go
├── discovery
│ ├── discovery.go
│ ├── discovery_impl.go
│ └── discovery_test.go
├── election
│ ├── adapter.go
│ ├── adapter_test.go
│ ├── election.go
│ └── election_test.go
├── filter
│ ├── filter.go
│ └── filter_test.go
├── gossip
│ ├── algo
│ │ ├── pull.go
│ │ └── pull_test.go
│ ├── anchor_test.go
│ ├── batcher.go
│ ├── batcher_test.go
│ ├── certstore.go
│ ├── certstore_test.go
│ ├── channel
│ │ ├── channel.go
│ │ └── channel_test.go
│ ├── chanstate.go
│ ├── gossip.go
│ ├── gossip_impl.go
│ ├── gossip_test.go
│ ├── msgstore
│ │ ├── msgs.go
│ │ └── msgs_test.go
│ ├── orgs_test.go
│ └── pull
│ │ ├── pullstore.go
│ │ └── pullstore_test.go
├── identity
│ ├── identity.go
│ └── identity_test.go
├── integration
│ ├── integration.go
│ └── integration_test.go
├── mocks
│ └── security_advisor.go
├── privdata
│ ├── common
│ │ └── common.go
│ ├── coordinator.go
│ ├── coordinator_test.go
│ ├── dataretriever.go
│ ├── dataretriever_test.go
│ ├── distributor.go
│ ├── distributor_test.go
│ ├── mocks
│ │ ├── collection_store.go
│ │ ├── committer.go
│ │ ├── config_history_retriever.go
│ │ ├── data_store.go
│ │ ├── missing_pvt_data_tracker.go
│ │ ├── reconciliation_fetcher.go
│ │ └── rw_set_scanner.go
│ ├── pull.go
│ ├── pull_test.go
│ ├── reconcile.go
│ ├── reconcile_test.go
│ └── util.go
├── service
│ ├── eventer.go
│ ├── eventer_test.go
│ ├── gossip_service.go
│ ├── gossip_service_test.go
│ ├── integration_test.go
│ └── join_test.go
├── state
│ ├── mocks
│ │ ├── gossip.go
│ │ └── gossip_test.go
│ ├── payloads_buffer.go
│ ├── payloads_buffer_test.go
│ ├── state.go
│ └── state_test.go
└── util
│ ├── logging.go
│ ├── misc.go
│ ├── misc_test.go
│ ├── msgs.go
│ ├── msgs_test.go
│ ├── privdata.go
│ ├── pubsub.go
│ └── pubsub_test.go
├── gotools.mk
├── idemix
├── credential.go
├── credrequest.go
├── idemix.pb.go
├── idemix_test.go
├── issuerkey.go
├── nonrevocation-prover.go
├── nonrevocation-verifier.go
├── nymsignature.go
├── revocation_authority.go
├── signature.go
├── util.go
└── weak-bb.go
├── images
├── buildenv
│ └── Dockerfile.in
├── ccenv
│ └── Dockerfile.in
├── orderer
│ └── Dockerfile.in
├── peer
│ └── Dockerfile.in
├── testenv
│ ├── Dockerfile.alpine
│ └── softhsm
│ │ └── APKBUILD
└── tools
│ └── Dockerfile.in
├── integration
├── README.rst
├── chaincode
│ ├── keylevelep
│ │ ├── chaincode.go
│ │ └── cmd
│ │ │ └── main.go
│ ├── marbles_private
│ │ ├── chaincode.go
│ │ └── cmd
│ │ │ └── main.go
│ └── simple
│ │ ├── chaincode.go
│ │ └── cmd
│ │ └── main.go
├── discovery
│ ├── discovery_suite_test.go
│ ├── discovery_test.go
│ └── testdata
│ │ ├── collections_config1.json
│ │ └── network.yaml
├── e2e
│ ├── acl_test.go
│ ├── cft_test.go
│ ├── e2e_signal_test.go
│ ├── e2e_suite_test.go
│ ├── e2e_test.go
│ └── health_test.go
├── helpers
│ └── images.go
├── nwo
│ ├── command.go
│ ├── commands
│ │ ├── configtxgen.go
│ │ ├── cryptogen.go
│ │ ├── discover.go
│ │ └── peer.go
│ ├── components.go
│ ├── config.go
│ ├── configblock.go
│ ├── configtx_template.go
│ ├── core_template.go
│ ├── crypto_template.go
│ ├── deploy.go
│ ├── discover.go
│ ├── fabricconfig
│ │ ├── core.go
│ │ └── orderer.go
│ ├── network.go
│ ├── network_test.go
│ ├── nwo_suite_test.go
│ ├── orderer_template.go
│ ├── solo.yaml
│ ├── standard_networks.go
│ └── templates.go
├── pluggable
│ ├── pluggable_suite_test.go
│ ├── pluggable_test.go
│ ├── plugin_activation.go
│ └── testdata
│ │ └── plugins
│ │ ├── endorsement
│ │ └── plugin.go
│ │ └── validation
│ │ └── plugin.go
├── pvtdata
│ ├── pvtdata_suite_test.go
│ ├── pvtdata_test.go
│ └── testdata
│ │ ├── collection_configs
│ │ ├── collections_config1.json
│ │ ├── collections_config2.json
│ │ ├── collections_config3.json
│ │ ├── collections_config4.json
│ │ └── short_btl_config.json
│ │ └── network.yaml
├── runner
│ ├── couchdb.go
│ ├── couchdb_test.go
│ ├── defaults.go
│ ├── kafka.go
│ ├── kafka_test.go
│ ├── runner_suite_test.go
│ ├── zookeeper.go
│ └── zookeeper_test.go
├── sbe
│ ├── sbe_suite_test.go
│ ├── sbe_test.go
│ └── testdata
│ │ └── collection_config.json
└── token
│ ├── token_suite_test.go
│ └── token_test.go
├── msp
├── cache
│ ├── cache.go
│ ├── cache_test.go
│ ├── second_chance.go
│ └── second_chance_test.go
├── cert.go
├── cert_test.go
├── configbuilder.go
├── configbuilder_test.go
├── factory.go
├── factory_test.go
├── idemix_roles.go
├── idemixmsp.go
├── idemixmsp_test.go
├── identities.go
├── mgmt
│ ├── deserializer.go
│ ├── deserializer_test.go
│ ├── mgmt.go
│ ├── mgmt_test.go
│ ├── peermsp_test.go
│ ├── principal.go
│ ├── principal_test.go
│ └── testtools
│ │ ├── config.go
│ │ └── config_test.go
├── mocks
│ └── mocks.go
├── msp.go
├── msp_test.go
├── mspimpl.go
├── mspimplsetup.go
├── mspimplsetup_test.go
├── mspimplvalidate.go
├── mspmgrimpl.go
├── mspwithintermediatecas_test.go
├── nodeous_test.go
├── ouconfig_test.go
├── revocation_test.go
├── testdata
│ ├── badadmin
│ │ ├── admincerts
│ │ │ ├── cert-COP1.pem
│ │ │ └── cert-COP2.pem
│ │ ├── cacerts
│ │ │ ├── cacert-COP.pem
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── key-COP1.pem
│ │ └── signcerts
│ │ │ └── cert-COP1.pem
│ ├── badconfigou
│ │ ├── admincerts
│ │ │ └── admincert.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── key.pem
│ │ └── signcerts
│ │ │ └── peer.pem
│ ├── badconfigoucert
│ │ ├── admincerts
│ │ │ └── admincert.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── key.pem
│ │ ├── signcerts
│ │ │ └── peer.pem
│ │ └── tlscacerts
│ │ │ └── cert.pem
│ ├── expiration
│ │ ├── admincerts
│ │ │ └── User1.pem
│ │ ├── cacerts
│ │ │ └── ca.pem
│ │ ├── keystore
│ │ │ └── 83c4189d96988eab469b1afa1dfbcb4463a1fff381d7dba9b9378b51a5ef9e77_sk
│ │ └── signcerts
│ │ │ └── cert.pem
│ ├── expired
│ │ ├── admincerts
│ │ │ └── admincert-expired.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── keystore
│ │ │ └── key-expired.pem
│ │ └── signcerts
│ │ │ └── peer-expired.pem
│ ├── external
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── intermediatecerts
│ │ │ └── intermediatecert.pem
│ │ ├── keystore
│ │ │ └── key.pem
│ │ └── signcerts
│ │ │ └── cert.pem
│ ├── idemix
│ │ ├── MSP1OU1
│ │ │ ├── ca
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ ├── IssuerSecretKey
│ │ │ │ └── RevocationKey
│ │ │ ├── msp
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ └── RevocationPublicKey
│ │ │ └── user
│ │ │ │ └── SignerConfig
│ │ ├── MSP1OU1Admin
│ │ │ ├── ca
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ ├── IssuerSecretKey
│ │ │ │ └── RevocationKey
│ │ │ ├── msp
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ └── RevocationPublicKey
│ │ │ └── user
│ │ │ │ └── SignerConfig
│ │ ├── MSP1OU2
│ │ │ ├── ca
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ ├── IssuerSecretKey
│ │ │ │ └── RevocationKey
│ │ │ ├── msp
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ └── RevocationPublicKey
│ │ │ └── user
│ │ │ │ └── SignerConfig
│ │ ├── MSP1Verifier
│ │ │ ├── ca
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ ├── IssuerSecretKey
│ │ │ │ └── RevocationKey
│ │ │ └── msp
│ │ │ │ ├── IssuerPublicKey
│ │ │ │ └── RevocationPublicKey
│ │ └── MSP2OU1
│ │ │ ├── ca
│ │ │ ├── IssuerPublicKey
│ │ │ ├── IssuerSecretKey
│ │ │ └── RevocationKey
│ │ │ ├── msp
│ │ │ ├── IssuerPublicKey
│ │ │ └── RevocationPublicKey
│ │ │ └── user
│ │ │ └── SignerConfig
│ ├── intermediate
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── intermediatecerts
│ │ │ └── intermediatecert.pem
│ │ ├── keystore
│ │ │ └── key.pem
│ │ └── signcerts
│ │ │ └── signcert.pem
│ ├── intermediate2
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── intermediatecerts
│ │ │ └── intermediatecert.pem
│ │ ├── keystore
│ │ │ └── key.pem
│ │ ├── signcerts
│ │ │ └── signcert.pem
│ │ └── users
│ │ │ └── user2-cert.pem
│ ├── mspid
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── keystore
│ │ │ └── 7c73fd300a90b41c79ace8ee5553e1f3ba12b141892d966617731380189d3f4e_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous1
│ │ ├── admincerts
│ │ │ └── admincert.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── key.pem
│ │ ├── signcerts
│ │ │ └── peer.pem
│ │ └── tlscacerts
│ │ │ └── cert.pem
│ ├── nodeous2
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 21779908bb40b2996d730685a5df60c62f05e02356930cd74b0d6acc49a1eafc_sk
│ │ │ └── f8c30e5fad3f1af5f080a87c23ce37e40e6d4ac30019e31ca2c6e7c6bffa26c8_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous3
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk
│ │ │ └── d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous4
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ ├── ca.example.com-cert.pem
│ │ │ └── external_ca.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk
│ │ │ └── d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous5
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 012ba73f50e24826785f48d1e60dcb972cfc2c5df7c41cdc0ecbbd52b02ca248_sk
│ │ │ └── 47e79b836df4b16212176f607b37d95f97ecfdcdc658b7e6eaeab251251a01aa_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous6
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk
│ │ │ └── d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous7
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ ├── 212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk
│ │ │ └── d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── nodeous8
│ │ ├── admincerts
│ │ │ └── peer0-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── f3a673451e3bf0f74b4fd7b24f6dbfd8d795c2173d11d255b6a4f4ad3cd23046_sk
│ │ ├── signcerts
│ │ │ └── peer0-cert.pem
│ │ └── tlscacerts
│ │ │ └── ca.example.com-cert.pem
│ ├── revocation
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── crls
│ │ │ └── crl.pem
│ │ ├── keystore
│ │ │ ├── key-admin.pem
│ │ │ └── key-revoked.pem
│ │ └── signcerts
│ │ │ └── signcert-revoked.pem
│ ├── revocation2
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── crls
│ │ │ └── crl.pem
│ │ ├── keystore
│ │ │ ├── key-admin.pem
│ │ │ └── key-revoked.pem
│ │ └── signcerts
│ │ │ └── signcert-revoked.pem
│ ├── revokedica
│ │ ├── admincerts
│ │ │ └── admin.pem
│ │ ├── cacerts
│ │ │ └── cacert.pem
│ │ ├── crls
│ │ │ └── crl.pem
│ │ ├── intermediatecerts
│ │ │ └── intermidiatecert.pem
│ │ ├── keystore
│ │ │ └── key.pem
│ │ └── signcerts
│ │ │ └── signcert.pem
│ └── tls
│ │ ├── admincerts
│ │ └── admin.pem
│ │ ├── cacerts
│ │ └── cacert.pem
│ │ ├── config.yaml
│ │ ├── intermediatecerts
│ │ └── intermediatecert.pem
│ │ ├── keystore
│ │ └── key.pem
│ │ ├── signcerts
│ │ └── cert.pem
│ │ ├── tlscacerts
│ │ └── cacert.pem
│ │ └── tlsintermediatecerts
│ │ └── intermediatecert.pem
└── tls_test.go
├── orderer
├── README.md
├── common
│ ├── blockcutter
│ │ ├── blockcutter.go
│ │ ├── blockcutter_suite_test.go
│ │ ├── blockcutter_test.go
│ │ ├── metrics.go
│ │ ├── metrics_test.go
│ │ └── mock
│ │ │ ├── config_fetcher.go
│ │ │ ├── metrics_histogram.go
│ │ │ ├── metrics_provider.go
│ │ │ └── orderer_config.go
│ ├── bootstrap
│ │ ├── bootstrap.go
│ │ └── file
│ │ │ ├── bootstrap.go
│ │ │ └── bootstrap_test.go
│ ├── broadcast
│ │ ├── broadcast.go
│ │ ├── broadcast_suite_test.go
│ │ ├── broadcast_test.go
│ │ ├── metrics.go
│ │ ├── metrics_test.go
│ │ └── mock
│ │ │ ├── ab_server.go
│ │ │ ├── channel_support.go
│ │ │ ├── channel_support_registrar.go
│ │ │ ├── metrics_counter.go
│ │ │ ├── metrics_histogram.go
│ │ │ └── metrics_provider.go
│ ├── cluster
│ │ ├── comm.go
│ │ ├── comm_test.go
│ │ ├── connections.go
│ │ ├── connections_test.go
│ │ ├── deliver.go
│ │ ├── deliver_test.go
│ │ ├── mocks
│ │ │ ├── block_verifier.go
│ │ │ ├── chain_puller.go
│ │ │ ├── channel_lister.go
│ │ │ ├── cluster_client.go
│ │ │ ├── communicator.go
│ │ │ ├── dispatcher.go
│ │ │ ├── handler.go
│ │ │ ├── ledger_factory.go
│ │ │ ├── ledger_writer.go
│ │ │ ├── secure_dialer.go
│ │ │ ├── submit_client.go
│ │ │ └── submit_stream.go
│ │ ├── replication.go
│ │ ├── replication_test.go
│ │ ├── rpc.go
│ │ ├── rpc_test.go
│ │ ├── service.go
│ │ ├── service_test.go
│ │ ├── testdata
│ │ │ ├── block3.pb
│ │ │ ├── ca.crt
│ │ │ ├── mychannel.block
│ │ │ ├── server.crt
│ │ │ └── server.key
│ │ ├── util.go
│ │ └── util_test.go
│ ├── localconfig
│ │ ├── config.go
│ │ └── config_test.go
│ ├── metadata
│ │ ├── metadata.go
│ │ └── metadata_test.go
│ ├── msgprocessor
│ │ ├── expiration.go
│ │ ├── expiration_test.go
│ │ ├── filter.go
│ │ ├── filter_test.go
│ │ ├── msgprocessor.go
│ │ ├── sigfilter.go
│ │ ├── sigfilter_test.go
│ │ ├── sizefilter.go
│ │ ├── sizefilter_test.go
│ │ ├── standardchannel.go
│ │ ├── standardchannel_test.go
│ │ ├── systemchannel.go
│ │ ├── systemchannel_test.go
│ │ ├── systemchannelfilter.go
│ │ ├── systemchannelfilter_test.go
│ │ └── testdata
│ │ │ ├── badCert.pem
│ │ │ ├── cert.pem
│ │ │ └── expiredCert.pem
│ ├── multichannel
│ │ ├── blockwriter.go
│ │ ├── blockwriter_test.go
│ │ ├── chainsupport.go
│ │ ├── chainsupport_test.go
│ │ ├── registrar.go
│ │ ├── registrar_test.go
│ │ └── util_test.go
│ └── server
│ │ ├── docker-compose.yml
│ │ ├── etcdraft_test.go
│ │ ├── main.go
│ │ ├── main_test.go
│ │ ├── onboarding.go
│ │ ├── onboarding_test.go
│ │ ├── server.go
│ │ ├── server_test.go
│ │ ├── signals.go
│ │ ├── signals_windows.go
│ │ ├── testdata
│ │ ├── configtx.yaml
│ │ ├── genesis.block
│ │ └── tls
│ │ │ ├── ca.crt
│ │ │ ├── server.crt
│ │ │ └── server.key
│ │ ├── util.go
│ │ └── util_test.go
├── consensus
│ ├── consensus.go
│ ├── etcdraft
│ │ ├── blockcreator.go
│ │ ├── blockcreator_test.go
│ │ ├── chain.go
│ │ ├── chain_test.go
│ │ ├── consenter.go
│ │ ├── consenter_test.go
│ │ ├── dispatcher.go
│ │ ├── dispatcher_test.go
│ │ ├── etcdraft_suite_test.go
│ │ ├── initialization_test.go
│ │ ├── mocks
│ │ │ ├── chain_getter.go
│ │ │ ├── configurator.go
│ │ │ ├── message_receiver.go
│ │ │ ├── mock_blockpuller.go
│ │ │ ├── mock_rpc.go
│ │ │ └── receiver_getter.go
│ │ ├── storage.go
│ │ ├── testdata
│ │ │ ├── etcdraftgenesis.block
│ │ │ └── mychannel.block
│ │ ├── util.go
│ │ └── util_test.go
│ ├── kafka
│ │ ├── chain.go
│ │ ├── chain_test.go
│ │ ├── channel.go
│ │ ├── channel_test.go
│ │ ├── config.go
│ │ ├── config_test.go
│ │ ├── consenter.go
│ │ ├── consenter_test.go
│ │ ├── kafka_suite_test.go
│ │ ├── logger.go
│ │ ├── logger_test.go
│ │ ├── metrics.go
│ │ ├── metrics_test.go
│ │ ├── mock
│ │ │ ├── metrics_gauge.go
│ │ │ ├── metrics_histogram.go
│ │ │ ├── metrics_meter.go
│ │ │ ├── metrics_provider.go
│ │ │ └── metrics_registry.go
│ │ ├── partitioner.go
│ │ ├── partitioner_test.go
│ │ ├── retry.go
│ │ └── retry_test.go
│ ├── mocks
│ │ └── mock_consenter_support.go
│ └── solo
│ │ ├── consensus.go
│ │ └── consensus_test.go
├── main.go
├── mocks
│ ├── common
│ │ ├── blockcutter
│ │ │ ├── blockcutter.go
│ │ │ └── blockcutter_test.go
│ │ └── multichannel
│ │ │ ├── multichannel.go
│ │ │ └── multichannel_test.go
│ └── util
│ │ ├── util.go
│ │ └── util_test.go
└── sample_clients
│ ├── broadcast_config
│ ├── client.go
│ └── newchain.go
│ ├── broadcast_msg
│ └── client.go
│ └── deliver_stdout
│ └── client.go
├── peer
├── chaincode
│ ├── api
│ │ └── api.go
│ ├── chaincode.go
│ ├── common.go
│ ├── common_test.go
│ ├── flags_test.go
│ ├── install.go
│ ├── install_test.go
│ ├── instantiate.go
│ ├── instantiate_test.go
│ ├── invoke.go
│ ├── invoke_test.go
│ ├── list.go
│ ├── list_test.go
│ ├── mock
│ │ └── deliver.go
│ ├── package.go
│ ├── package_test.go
│ ├── query.go
│ ├── query_test.go
│ ├── signpackage.go
│ ├── signpackage_test.go
│ ├── upgrade.go
│ └── upgrade_test.go
├── channel
│ ├── channel.go
│ ├── channel_test.go
│ ├── create.go
│ ├── create_test.go
│ ├── fetch.go
│ ├── fetch_test.go
│ ├── flags_test.go
│ ├── getinfo.go
│ ├── getinfo_test.go
│ ├── join.go
│ ├── join_test.go
│ ├── list.go
│ ├── list_test.go
│ ├── signconfigtx.go
│ ├── signconfigtx_test.go
│ ├── update.go
│ └── update_test.go
├── clilogging
│ ├── common.go
│ ├── getlevel.go
│ ├── getlogspec.go
│ ├── logging.go
│ ├── logging_test.go
│ ├── revertlevels.go
│ ├── setlevel.go
│ └── setlogspec.go
├── common
│ ├── api
│ │ └── api.go
│ ├── broadcastclient.go
│ ├── common.go
│ ├── common_test.go
│ ├── deliverclient.go
│ ├── deliverclient_test.go
│ ├── mock
│ │ ├── deliverclient.go
│ │ ├── deliverservice.go
│ │ └── peerdeliverclient.go
│ ├── mockclient.go
│ ├── networkconfig.go
│ ├── networkconfig_test.go
│ ├── ordererclient.go
│ ├── ordererclient_test.go
│ ├── ordererenv.go
│ ├── ordererenv_test.go
│ ├── peerclient.go
│ ├── peerclient_test.go
│ ├── peerdeliverclient.go
│ └── testdata
│ │ ├── absolute.yaml
│ │ ├── certs
│ │ ├── bad.key
│ │ ├── ca.crt
│ │ ├── client.crt
│ │ └── client.key
│ │ ├── connectionprofile-bad.yaml
│ │ ├── connectionprofile-uneven.yaml
│ │ ├── connectionprofile.yaml
│ │ ├── notset.yaml
│ │ ├── relative.yaml
│ │ └── test.yaml
├── gossip
│ ├── mcs.go
│ ├── mcs_test.go
│ ├── mocks
│ │ └── mocks.go
│ ├── sa.go
│ └── sa_test.go
├── main.go
├── main_test.go
├── mocks
│ └── signer.go
├── node
│ ├── node.go
│ ├── signals.go
│ ├── signals_windows.go
│ ├── start.go
│ ├── start_test.go
│ ├── status.go
│ └── status_test.go
├── testdata
│ └── invalid_plugins
│ │ └── invalidplugin.so
└── version
│ ├── version.go
│ └── version_test.go
├── protos
├── .protoroot
├── common
│ ├── block.go
│ ├── block_test.go
│ ├── collection.pb.go
│ ├── collection.proto
│ ├── common.go
│ ├── common.pb.go
│ ├── common.proto
│ ├── common_test.go
│ ├── configtx.go
│ ├── configtx.pb.go
│ ├── configtx.proto
│ ├── configtx_test.go
│ ├── configuration.go
│ ├── configuration.pb.go
│ ├── configuration.proto
│ ├── configuration_test.go
│ ├── ledger.pb.go
│ ├── ledger.proto
│ ├── ledger_test.go
│ ├── policies.go
│ ├── policies.pb.go
│ ├── policies.proto
│ ├── policies_test.go
│ ├── signed_data.go
│ └── signed_data_test.go
├── discovery
│ ├── extensions.go
│ ├── extensions_test.go
│ ├── protocol.pb.go
│ └── protocol.proto
├── gossip
│ ├── compatibility_test.go
│ ├── extensions.go
│ ├── extensions_test.go
│ ├── message.pb.go
│ ├── message.proto
│ └── message_test.go
├── idemix
│ └── idemix.proto
├── ledger
│ ├── queryresult
│ │ ├── kv_query_result.pb.go
│ │ └── kv_query_result.proto
│ └── rwset
│ │ ├── kvrwset
│ │ ├── helper.go
│ │ ├── kv_rwset.pb.go
│ │ ├── kv_rwset.proto
│ │ └── tests
│ │ │ ├── .gitattributes
│ │ │ ├── kv_rwset_test.go
│ │ │ └── kvrwsetV1ProtoBytes
│ │ ├── rwset.go
│ │ ├── rwset.pb.go
│ │ ├── rwset.proto
│ │ ├── rwset_test.go
│ │ └── tests
│ │ ├── .gitattributes
│ │ ├── rwsetV1ProtoBytes
│ │ └── rwset_test.go
├── msp
│ ├── identities.pb.go
│ ├── identities.proto
│ ├── msp_config.go
│ ├── msp_config.pb.go
│ ├── msp_config.proto
│ ├── msp_principal.go
│ ├── msp_principal.pb.go
│ └── msp_principal.proto
├── orderer
│ ├── ab.pb.go
│ ├── ab.proto
│ ├── cluster.pb.go
│ ├── cluster.proto
│ ├── configuration.go
│ ├── configuration.pb.go
│ ├── configuration.proto
│ ├── etcdraft
│ │ ├── configuration.go
│ │ ├── configuration.pb.go
│ │ ├── configuration.proto
│ │ ├── configuration_test.go
│ │ └── testdata
│ │ │ ├── tls-client-1.pem
│ │ │ ├── tls-client-2.pem
│ │ │ ├── tls-client-3.pem
│ │ │ ├── tls-server-1.pem
│ │ │ ├── tls-server-2.pem
│ │ │ └── tls-server-3.pem
│ ├── kafka.pb.go
│ └── kafka.proto
├── peer
│ ├── admin.pb.go
│ ├── admin.proto
│ ├── chaincode.go
│ ├── chaincode.pb.go
│ ├── chaincode.proto
│ ├── chaincode_event.pb.go
│ ├── chaincode_event.proto
│ ├── chaincode_shim.pb.go
│ ├── chaincode_shim.proto
│ ├── chaincodeunmarshall.go
│ ├── configuration.go
│ ├── configuration.pb.go
│ ├── configuration.proto
│ ├── events.pb.go
│ ├── events.proto
│ ├── lifecycle
│ │ ├── lifecycle.pb.go
│ │ └── lifecycle.proto
│ ├── peer.pb.go
│ ├── peer.proto
│ ├── proposal.go
│ ├── proposal.pb.go
│ ├── proposal.proto
│ ├── proposal_response.go
│ ├── proposal_response.pb.go
│ ├── proposal_response.proto
│ ├── query.pb.go
│ ├── query.proto
│ ├── resources.pb.go
│ ├── resources.proto
│ ├── signed_cc_dep_spec.pb.go
│ ├── signed_cc_dep_spec.proto
│ ├── transaction.go
│ ├── transaction.pb.go
│ └── transaction.proto
├── testutils
│ └── txtestutils.go
├── token
│ ├── expectations.pb.go
│ ├── expectations.proto
│ ├── prover.pb.go
│ ├── prover.proto
│ ├── transaction.pb.go
│ └── transaction.proto
├── transientstore
│ ├── transientstore.pb.go
│ └── transientstore.proto
└── utils
│ ├── blockutils.go
│ ├── blockutils_test.go
│ ├── chaincodeutils.go
│ ├── commonutils.go
│ ├── commonutils_test.go
│ ├── proputils.go
│ ├── proputils_test.go
│ ├── txutils.go
│ └── txutils_test.go
├── release
└── templates
│ └── get-docker-images.in
├── release_notes
├── v1.0.0-beta.md
├── v1.0.0-rc1.txt
├── v1.0.0.txt
├── v1.0.1.txt
├── v1.0.2.txt
├── v1.0.3.txt
├── v1.1.0-alpha.txt
├── v1.1.0-preview.txt
├── v1.1.0-rc1.txt
├── v1.2.0-rc1.txt
├── v1.3.0-rc1.txt
└── v1.4.0.txt
├── sampleconfig
├── configtx.yaml
├── core.yaml
├── msp
│ ├── admincerts
│ │ └── admincert.pem
│ ├── cacerts
│ │ └── cacert.pem
│ ├── config.yaml
│ ├── keystore
│ │ └── key.pem
│ ├── signcerts
│ │ └── peer.pem
│ ├── tlscacerts
│ │ └── tlsroot.pem
│ └── tlsintermediatecerts
│ │ └── tlsintermediate.pem
└── orderer.yaml
├── scripts
├── bootstrap.sh
├── changelog.sh
├── check_deps.sh
├── check_license.sh
├── check_spelling.sh
├── check_trailingspaces.sh
├── compile_protos.sh
├── generateHelpDocs.sh
├── goListFiles.sh
├── golinter.sh
├── metrics_doc.sh
├── multiarch.sh
├── pull_build_artifacts.sh
└── run-integration-tests.sh
├── settings.gradle
├── test-pyramid.png
├── testingInfo.rst
├── token
├── client
│ ├── client.go
│ ├── client_suite_test.go
│ ├── client_test.go
│ ├── config.go
│ ├── deliver_client.go
│ ├── deliver_client_test.go
│ ├── mock
│ │ ├── broadcast.go
│ │ ├── deliver_client.go
│ │ ├── deliver_filtered.go
│ │ ├── fabric_tx_submitter.go
│ │ ├── identity.go
│ │ ├── orderer_client.go
│ │ ├── prover.go
│ │ ├── prover_client.go
│ │ ├── signer_identity.go
│ │ └── signing_identity.go
│ ├── msp.go
│ ├── orderer_client.go
│ ├── orderer_client_test.go
│ ├── prover.go
│ ├── prover_test.go
│ ├── tx_submitter.go
│ └── tx_submitter_test.go
├── identity.go
├── identity
│ ├── identity.go
│ ├── identity_test.go
│ └── mock
│ │ ├── deserializer.go
│ │ ├── deserializer_manager.go
│ │ ├── identity.go
│ │ ├── issuing_validator.go
│ │ └── public_info.go
├── ledger
│ ├── ledger.go
│ └── mock
│ │ ├── ledger_manager.go
│ │ ├── ledger_reader.go
│ │ ├── ledger_writer.go
│ │ └── results_iterator.go
├── server
│ ├── accesscontrol.go
│ ├── accesscontrol_test.go
│ ├── capability_checker.go
│ ├── ledgermanager.go
│ ├── ledgermanager_test.go
│ ├── manager.go
│ ├── manager_test.go
│ ├── marshal.go
│ ├── marshal_test.go
│ ├── mock
│ │ ├── access_control.go
│ │ ├── acl_provider.go
│ │ ├── capability_checker.go
│ │ ├── issuer.go
│ │ ├── marshaler.go
│ │ ├── signer_identity.go
│ │ ├── tms_manager.go
│ │ └── transactor.go
│ ├── msp.go
│ ├── prover.go
│ ├── prover_test.go
│ ├── server_suite_test.go
│ └── tms.go
├── tms
│ ├── manager
│ │ ├── manager.go
│ │ ├── manager_suite_test.go
│ │ ├── manager_test.go
│ │ ├── policy.go
│ │ └── policy_test.go
│ ├── plain
│ │ ├── compositekeys_test.go
│ │ ├── issuer.go
│ │ ├── issuer_test.go
│ │ ├── ledger.go
│ │ ├── ledger_test.go
│ │ ├── manager.go
│ │ ├── plain_suite_test.go
│ │ ├── pool.go
│ │ ├── pool_test.go
│ │ ├── transactor.go
│ │ ├── transactor_test.go
│ │ ├── verifier.go
│ │ └── verifier_test.go
│ └── transactiondata.go
└── transaction
│ ├── marshalling.go
│ ├── mock
│ ├── tms_manager.go
│ └── tms_tx_processor.go
│ ├── processor.go
│ ├── processor_test.go
│ ├── tms.go
│ └── transaction_suite_test.go
├── tox.ini
└── unit-test
├── docker-compose.yml
└── run.sh
/.dockerignore:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright IBM Corp. All Rights Reserved.
3 | #
4 | # SPDX-License-Identifier: Apache-2.0
5 | #
6 | .build
7 | unit-test
8 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.sh text eol=lf
2 | *.go text eol=lf
3 | *.yaml text eol=lf
4 | *.yml text eol=lf
5 | *.md text eol=lf
6 | *.json text eol=lf
7 | *.proto text eol=lf
8 | *.py text eol=lf
9 | *.js text eol=lf
10 | *.txt text eol=lf
11 | LICENSE text eol=lf
12 |
--------------------------------------------------------------------------------
/.gitreview:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: Apache-2.0
2 | [gerrit]
3 | host=gerrit.hyperledger.org
4 | port=29418
5 | project=fabric
6 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | Code of Conduct Guidelines
2 | ==========================
3 |
4 | Please review the Hyperledger [Code of
5 | Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct)
6 | before participating. It is important that we keep things civil.
7 |
8 | 
This work is licensed under a Creative Commons Attribution 4.0 International License.
9 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## Contributing
2 |
3 | We welcome contributions to the Hyperledger Fabric Project in many forms, and
4 | there's always plenty to do!
5 |
6 | Please visit the
7 | [contributors guide](http://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html) in the
8 | docs to learn how to make contributions to this exciting project.
9 |
10 | 
This work is licensed under a Creative Commons Attribution 4.0 International License.
11 | s
12 |
--------------------------------------------------------------------------------
/bccsp/factory/opts_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2017保留所有权利。
11 |
12 | 根据Apache许可证2.0版(以下简称“许可证”)获得许可;
13 | 除非符合许可证,否则您不能使用此文件。
14 | 您可以在以下网址获得许可证副本:
15 |
16 | http://www.apache.org/licenses/license-2.0
17 |
18 | 除非适用法律要求或书面同意,软件
19 | 根据许可证分发是按“原样”分发的,
20 | 无任何明示或暗示的保证或条件。
21 | 有关管理权限和
22 | 许可证限制。
23 | **/
24 |
25 | package factory
26 |
27 | import (
28 | "testing"
29 |
30 | "github.com/stretchr/testify/assert"
31 | )
32 |
33 | func TestFactoryOptsFactoryName(t *testing.T) {
34 | assert.Equal(t, GetDefaultOpts().FactoryName(), "SW")
35 | }
36 |
--------------------------------------------------------------------------------
/bccsp/factory/race_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建立种族
10 | //+build go1.9,linux,cgo go1.10,达尔文,cgo
11 | //+建设!PPC64
12 |
13 | /*
14 | 版权所有IBM公司。保留所有权利。
15 |
16 | SPDX许可证标识符:Apache-2.0
17 | **/
18 |
19 | package factory
20 |
21 | func init() {
22 | raceEnabled = true
23 | }
24 |
--------------------------------------------------------------------------------
/bccsp/idemix/bridge/bridge_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package bridge_test
16 |
17 | import (
18 | "testing"
19 |
20 | "github.com/hyperledger/fabric-amcl/amcl"
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestPlain(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Plain Suite")
28 | }
29 |
30 | //newrandanpanic是一个实用程序测试函数,调用时总是死机
31 | func NewRandPanic() *amcl.RAND {
32 | panic("new rand panic")
33 | }
34 |
--------------------------------------------------------------------------------
/bccsp/idemix/bridge/rand.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package bridge
16 |
17 | import (
18 | "github.com/hyperledger/fabric-amcl/amcl"
19 | cryptolib "github.com/hyperledger/fabric/idemix"
20 | )
21 |
22 | //newrandorpanic返回新的amcl prg或panic
23 | func NewRandOrPanic() *amcl.RAND {
24 | rng, err := cryptolib.GetRand()
25 | if err != nil {
26 | panic(err)
27 | }
28 | return rng
29 | }
30 |
--------------------------------------------------------------------------------
/bccsp/idemix/idemix_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 | package idemix_test
16 |
17 | import (
18 | "testing"
19 |
20 | . "github.com/onsi/ginkgo"
21 | . "github.com/onsi/gomega"
22 | )
23 |
24 | func TestPlain(t *testing.T) {
25 | RegisterFailHandler(Fail)
26 | RunSpecs(t, "Plain Suite")
27 | }
28 |
--------------------------------------------------------------------------------
/bccsp/utils/errs.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2016保留所有权利。
11 |
12 | 根据Apache许可证2.0版(以下简称“许可证”)获得许可;
13 | 除非符合许可证,否则您不能使用此文件。
14 | 您可以在以下网址获得许可证副本:
15 |
16 | http://www.apache.org/licenses/license-2.0
17 |
18 | 除非适用法律要求或书面同意,软件
19 | 根据许可证分发是按“原样”分发的,
20 | 无任何明示或暗示的保证或条件。
21 | 有关管理权限和
22 | 许可证限制。
23 | **/
24 |
25 |
26 | package utils
27 |
28 | //errtostring将错误转换为字符串。如果错误为零,则返回字符串“”
29 | func ErrToString(err error) string {
30 | if err != nil {
31 | return err.Error()
32 | }
33 |
34 | return ""
35 | }
36 |
--------------------------------------------------------------------------------
/bccsp/utils/slice.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2016保留所有权利。
11 |
12 | 根据Apache许可证2.0版(以下简称“许可证”)获得许可;
13 | 除非符合许可证,否则您不能使用此文件。
14 | 您可以在以下网址获得许可证副本:
15 |
16 | http://www.apache.org/licenses/license-2.0
17 |
18 | 除非适用法律要求或书面同意,软件
19 | 根据许可证分发是按“原样”分发的,
20 | 无任何明示或暗示的保证或条件。
21 | 有关管理权限和
22 | 许可证限制。
23 | **/
24 |
25 |
26 | package utils
27 |
28 | //克隆克隆已传递的切片
29 | func Clone(src []byte) []byte {
30 | clone := make([]byte, len(src))
31 | copy(clone, src)
32 |
33 | return clone
34 | }
35 |
--------------------------------------------------------------------------------
/bccsp/utils/x509.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 |
11 |
12 |
13 | 除非符合许可证,否则您不能使用此文件。
14 | 您可以在以下网址获得许可证副本:
15 |
16 | http://www.apache.org/licenses/license-2.0
17 |
18 | 除非适用法律要求或书面同意,软件
19 | 根据许可证分发是按“原样”分发的,
20 | 无任何明示或暗示的保证或条件。
21 | 有关管理权限和
22 | 许可证限制。
23 | **/
24 |
25 |
26 | package utils
27 |
28 | import (
29 | "crypto/x509"
30 | )
31 |
32 | //der to x509证书将der转换为x509
33 | func DERToX509Certificate(asn1Data []byte) (*x509.Certificate, error) {
34 | return x509.ParseCertificate(asn1Data)
35 | }
36 |
--------------------------------------------------------------------------------
/ci.properties:
--------------------------------------------------------------------------------
1 | GO_VER=1.11.1
2 |
--------------------------------------------------------------------------------
/cmd/common/comm/testdata/client/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgJSd74X0TaPasM9Ey
3 | 4DS81fY7CdI1m7COKNyVSjvM/s6hRANCAAR2R3XOqJdFr3ZK0xv1U67jPtpmW+qD
4 | z3TnZacySrpuCP82txGI0NO5emLvy2RJkULpTU6mowFRmpzRbaJ/+0NH
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/cmd/common/comm/testdata/server/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjF0UIONy0czJh2Ks
3 | VhTeQ3fgkBmpBMdDb9A2dJ5tUWahRANCAASTEG09s7ypUJKUn+lEHxwSLSfp32zQ
4 | sUxaQQC1BS5l00fRwcUrrAIaSgZy2GoQuNZBSAozgRhqsM/hiwkzCD3T
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/cmd/common/signer/testdata/signer/8150cb2d09628ccc89727611ebb736189f6482747eff9b8aaaa27e9a382d2e93_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiMUviC3wiXZITKuC
3 | dZ3EOjolfC2Buep2zac1orHq/JmhRANCAAQcSjQ/I/Ngs9d/ARFwDH/PJM4bCCvc
4 | 3A6T2/8Cuz2mBQ96otBiwCJcbnV/bQ/B2LcKOhLe4g042x/OAeTLpW4W
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/cmd/common/signer/testdata/signer/broken_private_key:
--------------------------------------------------------------------------------
1 | broken
2 |
--------------------------------------------------------------------------------
/cmd/common/signer/testdata/signer/empty_private_key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | -----END PRIVATE KEY-----
3 |
--------------------------------------------------------------------------------
/cmd/common/testdata/not_a_yaml.yaml:
--------------------------------------------------------------------------------
1 | dgdgd
2 | dfgdf
3 | gdf
4 | gdfg
5 | dfgdfgdfgf dfgdfgdf
--------------------------------------------------------------------------------
/cmd/common/testdata/valid_config/config.yaml:
--------------------------------------------------------------------------------
1 | version: 0
2 | tlsconfig:
3 | certpath: ""
4 | keypath: ""
5 | peercacertpath: ""
6 | timeout: 0s
7 | signerconfig:
8 | mspid: SampleOrg
9 | identitypath: cert.pem
10 | keypath: key.pem
11 |
--------------------------------------------------------------------------------
/cmd/discover/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "os"
20 |
21 | "github.com/hyperledger/fabric/bccsp/factory"
22 | "github.com/hyperledger/fabric/cmd/common"
23 | "github.com/hyperledger/fabric/discovery/cmd"
24 | )
25 |
26 | func main() {
27 | factory.InitFactories(nil)
28 | cli := common.NewCLI("discover", "Command line client for fabric discovery service")
29 | discovery.AddCommands(cli)
30 | cli.Run(os.Args[1:])
31 | }
32 |
--------------------------------------------------------------------------------
/common/channelconfig/applicationorg_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package channelconfig
17 |
18 | import (
19 | "testing"
20 | )
21 |
22 | func TestApplicationOrgInterface(t *testing.T) {
23 | _ = ApplicationOrg(&ApplicationOrgConfig{})
24 | }
25 |
--------------------------------------------------------------------------------
/common/channelconfig/consortiums_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package channelconfig
16 |
17 | import (
18 | "testing"
19 |
20 | cb "github.com/hyperledger/fabric/protos/common"
21 | "github.com/stretchr/testify/assert"
22 | )
23 |
24 | func TestConsortiums(t *testing.T) {
25 | _, err := NewConsortiumsConfig(&cb.ConfigGroup{}, nil)
26 | assert.NoError(t, err)
27 | }
28 |
--------------------------------------------------------------------------------
/common/channelconfig/organization_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package channelconfig
17 |
18 | import (
19 | "testing"
20 | )
21 |
22 | func TestOrganization(t *testing.T) {
23 | _ = Org(&OrganizationConfig{})
24 | }
25 |
--------------------------------------------------------------------------------
/common/crypto/random_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2017保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package crypto
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/stretchr/testify/assert"
22 | )
23 |
24 | func TestGetRandomBytes(t *testing.T) {
25 | _, err := GetRandomBytes(10)
26 |
27 | assert.NoError(t, err, "GetRandomBytes fails")
28 | }
29 |
30 | func TestGetRandomNonce(t *testing.T) {
31 | _, err := GetRandomNonce()
32 |
33 | assert.NoError(t, err, "GetRandomNonce fails")
34 | }
35 |
--------------------------------------------------------------------------------
/common/crypto/testdata/badCert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICCDCCAa6gAwIBAgIRANLH5Ue5a6tHuzCQtap1BP8wCgYIKoZIzj0EAwIwZzEL
3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
4 | cmFuY2lzY28xEzARBgNVBAoTCmhybC5pYm0uaWwxFjAUBgNVBAMTDWNhLmhybC5p
5 | EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNj
6 | bzEZMBcGA1UEAwwQVXNlcjFAaHJsLmlibS5pbDBZMBMGByqGSM49AgEGCCqGSM49
7 | AwEHA0IABE7fF65KsF0nxNgIBFVA2x/QU0LuAyuTsRaSWc/ycQAuLQfCti5bYp4W
8 | WaQUc5sBaKAmVbFQTm9RhmOhtIz7PL6jTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNV
9 | HRMBAf8EAjAAMCsGA1UdIwQkMCKAIMjiBsyFZlbO6pRxo7VgoqKhl78Ujd9sdWUk
10 | epB05fodMAoGCCqGSM49BAMCA0gAMEUCIQCiOzbaApF46NVobwh3wqHf8ID1zxja
11 | j23HPXR3FjjFZgIgXLujyDGETptNrELaytjG+dxO3Kzq/SM07K2zPUg4368=
12 | -----END CERTIFICATE-----
13 |
--------------------------------------------------------------------------------
/common/deliver/interfaces_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package deliver_test
17 |
18 | import (
19 | "github.com/hyperledger/fabric/common/ledger/blockledger"
20 | )
21 |
22 | //go:生成仿冒者-o mock/block\u reader.go-fake name block reader。拦截器
23 | type blockledgerReader interface {
24 | blockledger.Reader
25 | }
26 |
27 | //go:生成仿冒者-o mock/block_iterator.go-fake name block iterator。拦截器
28 | type blockledgerIterator interface {
29 | blockledger.Iterator
30 | }
31 |
--------------------------------------------------------------------------------
/common/flogging/httpadmin/httpadmin_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package httpadmin_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestHttpadmin(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Httpadmin Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/grpclogging/testpb/echo.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/common/grpclogging/testpb";
10 |
11 | package testpb;
12 |
13 | message Message {
14 | string message = 1;
15 | int32 sequence = 2;
16 | }
17 |
18 | service EchoService {
19 | rpc Echo(Message) returns (Message);
20 | rpc EchoStream(stream Message) returns (stream Message);
21 | }
22 |
--------------------------------------------------------------------------------
/common/grpcmetrics/testpb/echo.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/common/grpcmetrics/testpb";
10 |
11 | package testpb;
12 |
13 | message Message {
14 | string message = 1;
15 | int32 sequence = 2;
16 | }
17 |
18 | service EchoService {
19 | rpc Echo(Message) returns (Message);
20 | rpc EchoStream(stream Message) returns (stream Message);
21 | }
22 |
--------------------------------------------------------------------------------
/common/metadata/metadata.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有2016年伦敦证券交易所版权所有。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package metadata
17 |
18 | //
19 | var Version string = "latest"
20 | var CommitSHA string = "development build"
21 | var BaseVersion string = "0.4.14"
22 | var BaseDockerLabel string = "org.hyperledger.fabric"
23 | var DockerNamespace string = "hyperledger"
24 | var BaseDockerNamespace string = "hyperledger"
25 |
--------------------------------------------------------------------------------
/common/metrics/cmd/gendoc/.gitignore:
--------------------------------------------------------------------------------
1 | #SPDX-License-Identifier: Apache-2.0
2 |
3 | gendoc
4 |
--------------------------------------------------------------------------------
/common/metrics/disabled/disabled_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package disabled_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestDisabled(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Disabled Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/metrics/gendoc/testdata/ignored.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package testdata
17 |
18 | import "github.com/hyperledger/fabric/common/metrics"
19 |
20 | //金多克:忽略
21 |
22 | //因为上面的gendoc:ignore语句,所以文档生成应该忽略这一点。
23 |
24 | var (
25 | Ignored = metrics.CounterOpts{
26 | Namespace: "ignored",
27 | Name: "ignored",
28 | }
29 | )
30 |
--------------------------------------------------------------------------------
/common/metrics/internal/namer/namer_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 |
13 | **/
14 |
15 |
16 | package namer_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestNamer(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Namer Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/metrics/metrics_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package metrics_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestMetrics(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Metrics Suite")
28 | }
29 |
30 | //
31 | //
32 | //
33 | //
34 |
--------------------------------------------------------------------------------
/common/metrics/prometheus/prometheus_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package prometheus_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestPrometheus(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Prometheus Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/metrics/statsd/goruntime/goruntime_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package goruntime_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestRuntime(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Runtime Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/metrics/statsd/statsd_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package statsd_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestStatsd(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Statsd Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/common/mocks/config/channel_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package config
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/common/channelconfig"
22 | )
23 |
24 | func TestChannelConfigInterface(t *testing.T) {
25 | _ = channelconfig.Channel(&Channel{})
26 | }
27 |
--------------------------------------------------------------------------------
/common/mocks/config/orderer_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package config
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/common/channelconfig"
22 | )
23 |
24 | func TestOrdererConfigInterface(t *testing.T) {
25 | _ = channelconfig.Orderer(&Orderer{})
26 | }
27 |
--------------------------------------------------------------------------------
/common/mocks/config/resources_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2016保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package config
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/common/channelconfig"
22 | )
23 |
24 | func TestConfigtxResourcesInterface(t *testing.T) {
25 | _ = channelconfig.Resources(&Resources{})
26 | }
27 |
--------------------------------------------------------------------------------
/common/mocks/configtx/configtx_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | */
14 |
15 |
16 | package configtx
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/common/configtx"
22 | )
23 |
24 | func TestConfigtxValidatorInterface(t *testing.T) {
25 | _ = configtx.Validator(&Validator{})
26 | }
27 |
--------------------------------------------------------------------------------
/common/tools/cryptogen/msp/msp_internal_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package msp
17 |
18 | var ExportConfig = exportConfig
19 |
--------------------------------------------------------------------------------
/common/util/net.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package util
17 |
18 | import (
19 | "context"
20 |
21 | "google.golang.org/grpc/peer"
22 | )
23 |
24 | func ExtractRemoteAddress(ctx context.Context) string {
25 | var remoteAddress string
26 | p, ok := peer.FromContext(ctx)
27 | if !ok {
28 | return ""
29 | }
30 | if address := p.Addr; address != nil {
31 | remoteAddress = address.String()
32 | }
33 | return remoteAddress
34 | }
35 |
--------------------------------------------------------------------------------
/core/aclmgmt/aclmgmt.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package aclmgmt
17 |
18 | import (
19 | "github.com/hyperledger/fabric/common/flogging"
20 | )
21 |
22 | var aclLogger = flogging.MustGetLogger("aclmgmt")
23 |
24 | type ACLProvider interface {
25 | //checkacl使用
26 | //IDFIN。IDinfo是一个对象,如SignedProposal,其中
27 | //可以提取ID以根据策略进行测试
28 | CheckACL(resName string, channelID string, idinfo interface{}) error
29 | }
30 |
--------------------------------------------------------------------------------
/core/cclifecycle/mocks/life_cycle_change_listener.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //Code generated by mockery v1.0.0. 不要编辑。
10 | package mocks
11 |
12 | import chaincode "github.com/hyperledger/fabric/common/chaincode"
13 | import mock "github.com/stretchr/testify/mock"
14 |
15 | //
16 | type LifeCycleChangeListener struct {
17 | mock.Mock
18 | }
19 |
20 | //LifecycleChangeListener提供具有给定字段的模拟函数:channel、chaincodes
21 | func (_m *LifeCycleChangeListener) LifeCycleChangeListener(channel string, chaincodes chaincode.MetadataSet) {
22 | _m.Called(channel, chaincodes)
23 | }
24 |
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/bad-metadata.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/bad-metadata.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/corrupted-header.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/corrupted-header.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/corrupted-package.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/corrupted-package.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/good-package.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/good-package.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/missing-codepackage.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/missing-codepackage.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/missing-metadata.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/missing-metadata.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/non-regular-file.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/non-regular-file.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/persistence/testdata/too-many-files.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/persistence/testdata/too-many-files.tar.gz
--------------------------------------------------------------------------------
/core/chaincode/platforms/car/testdata/org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/chaincode/platforms/car/testdata/org.hyperledger.chaincode.example02-0.1-SNAPSHOT.car
--------------------------------------------------------------------------------
/core/chaincode/platforms/golang/testdata/src/chaincodes/AutoVendor/directdep/core.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | *版权所有Greg Haskins保留所有权利
11 | *
12 | *SPDX许可证标识符:Apache-2.0
13 | *
14 | *有关详细信息,请参阅github.com/hyperledger/fabric/test/chaincodes/autovendor/chaincode/main.go。
15 | **/
16 |
17 | package directdep
18 |
19 | import (
20 | "chaincodes/AutoVendor/indirectdep"
21 | )
22 |
23 | func PointlessFunction() {
24 | //授权我们间接依赖
25 | indirectdep.PointlessFunction()
26 | }
27 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/golang/testdata/src/chaincodes/AutoVendor/indirectdep/core.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | *版权所有Greg Haskins保留所有权利
11 | *
12 | *SPDX许可证标识符:Apache-2.0
13 | *
14 | *有关详细信息,请参阅github.com/hyperledger/fabric/test/chaincodes/autovendor/chaincode/main.go。
15 | **/
16 |
17 | package indirectdep
18 |
19 | import "fmt"
20 |
21 | func PointlessFunction() {
22 | fmt.Printf("Successfully invoked pointless function\n")
23 | }
24 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/golang/testdata/src/chaincodes/BadMetadataIgnoreHiddenFile/META-INF/.hiddenfile:
--------------------------------------------------------------------------------
1 | This test file has a hidden filename, it should be ignored during golang chaincode packaging tests.
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/golang/testdata/src/chaincodes/BadMetadataInvalidIndex/META-INF/statedb/couchdb/indexes/bad.json:
--------------------------------------------------------------------------------
1 | This test file is expected to contain a json formatted couchdb index, but does not. It should fail golang chaincode packaging tests.
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/golang/testdata/src/chaincodes/BadMetadataUnexpectedFolderContent/META-INF/unsupported_metadata_ocation.json:
--------------------------------------------------------------------------------
1 | This test file is located at an unexpected metadata location under META-INF. It should fail golang chaincode packaging tests.
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.github.johnrengelman.shadow' version '2.0.3'
3 | id 'java'
4 | }
5 |
6 | group 'org.hyperledger.fabric-chaincode-java'
7 | version '1.0-SNAPSHOT'
8 |
9 | sourceCompatibility = 1.8
10 |
11 | repositories {
12 | mavenLocal()
13 | mavenCentral()
14 | }
15 |
16 | dependencies {
17 | compile group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.3.0-SNAPSHOT'
18 | testCompile group: 'junit', name: 'junit', version: '4.12'
19 | }
20 |
21 | shadowJar {
22 | baseName = 'chaincode'
23 | version = null
24 | classifier = null
25 |
26 | manifest {
27 | attributes 'Main-Class': 'example.ExampleCC'
28 | }
29 | }
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/pom.xml:
--------------------------------------------------------------------------------
1 | test maven build file
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'fabric-chaincode-example-gradle'
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/src/main/java/example/examplecc.class:
--------------------------------------------------------------------------------
1 | test class file
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/target/example/ExampleCC.class:
--------------------------------------------------------------------------------
1 | test class file in target folder
--------------------------------------------------------------------------------
/core/chaincode/platforms/java/testdata/gradle/target/example/ExampleCC.java:
--------------------------------------------------------------------------------
1 | test java file in target folder
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/a.txt:
--------------------------------------------------------------------------------
1 | a
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/a/a1.txt:
--------------------------------------------------------------------------------
1 | a1
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/a/a2.txt:
--------------------------------------------------------------------------------
1 | a2
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/b.txt:
--------------------------------------------------------------------------------
1 | b
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/b/c.txt:
--------------------------------------------------------------------------------
1 | c
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles1/b/c/c1.txt:
--------------------------------------------------------------------------------
1 | c1
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/x.txt:
--------------------------------------------------------------------------------
1 | x
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/x/z.txt:
--------------------------------------------------------------------------------
1 | z
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/x/z/z1.txt:
--------------------------------------------------------------------------------
1 | z1
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/y.txt:
--------------------------------------------------------------------------------
1 | y
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/y/y1.txt:
--------------------------------------------------------------------------------
1 | y1
2 |
--------------------------------------------------------------------------------
/core/chaincode/platforms/util/hashtestfiles2/y/y2.txt:
--------------------------------------------------------------------------------
1 | y2
2 |
--------------------------------------------------------------------------------
/core/comm/config_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package comm
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/stretchr/testify/assert"
22 | )
23 |
24 | func TestConfig(t *testing.T) {
25 | t.Parallel()
26 |
27 | serverOptions := ServerKeepaliveOptions(nil)
28 | assert.NotNil(t, serverOptions)
29 |
30 | clientOptions := ClientKeepaliveOptions(nil)
31 | assert.NotNil(t, clientOptions)
32 | }
33 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child1-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIJBozVe9EJv6DB7M2AGSu+ZDu2LqAxlPPTb/5+KPsw2CoAoGCCqGSM49
3 | AwEHoUQDQgAE/QL3hoUhq1GRKMImbgVL/UcuxRBry8FJHd8ECqQw+yyGSy2kHDjn
4 | HCwU/Tp8ydVQ/tF0aOyW21YKk2a+4ZqHnw==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child1-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEILjb2qiEyJjGw288Ab8rUkez9u5mswhThQOYuHl7676voAoGCCqGSM49
3 | AwEHoUQDQgAEy7Ovrfz05ZfpJCoePUkToT8+cepoLpAWw4JZnGGWxa1usKZ0+XIy
4 | SifcBT+XDwQE2afuTnYrEfDt3bMjB9iaOQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEICE+hiFM1+dMGhAHoD7vSJve49PhakF91K/j1jDqiAxSoAoGCCqGSM49
3 | AwEHoUQDQgAEKouFmc+ZqdYq0q3GfFaYGEft4/Sr8nSbpwBY7LVM8tyjsKpouk/C
4 | /NOoQZoCG56xt8ShR7JUSRyOPrrZNJULVA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child1-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIO/cw3SmIcO8X7U/hY5TUaX8Ueay5kcOGI+YQglHalrNoAoGCCqGSM49
3 | AwEHoUQDQgAEesGNd7pbexjj3XhFX524m2g1JIqViiIEmtrutXJEkuMk2uBIt8pg
4 | DQA0tZrtGa2CSLFbA3bSRemKmNt9+WtMoA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child1-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEILcrnLMw3iSZlo0ggEQtzSIGEhR2ctJPu5IRQ1lYc50ZoAoGCCqGSM49
3 | AwEHoUQDQgAExvDBanuS7UbDId1uxGZg8gXJoM/oAmWlALlehFeIwJ8HgJtyMZT5
4 | BnpXflB/2OsPNYOcKId2pFU7F67eRX91vA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child2-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIKR2IrzSVU6ex+zRO3SvzPkx6XbxO9XmHC0yGvR6rNtRoAoGCCqGSM49
3 | AwEHoUQDQgAE8JHPuEfKQ0tUCi60d0NKjKuWq6ftGGfOcr7ySx2KWjUjdynrCt1F
4 | SQAZRRW2GPzm2rVa+NOFIY2t4m+3Uiad9g==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child2-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIE7M2bia31j6vyT1/tdzsWCWXeoGBh1DGJXtDf9VlvPWoAoGCCqGSM49
3 | AwEHoUQDQgAEiCM9QOndq5kCYEoDXPzg7X0BEkRxqdNUljyry9yMrp5jGZomNDh7
4 | gan/86px0Fywly0b9VymeUDZMdmCpqgwng==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIDCQcN4pwQ70xDntA3y8JroGqoR1BySF5VM9kwIMtImvoAoGCCqGSM49
3 | AwEHoUQDQgAEOLDFzWG32T8b86FdpN9M+8FJzVgVDkgAjpYHI1ZMuN5HiJmHtOF+
4 | yqgW+DdCq89AcCATIapWJfQfAxYt1YYhUA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child2-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIBY3frDJGPXYOVq1aYgsarUkW5Gnwnh9EjdKUo55wAfKoAoGCCqGSM49
3 | AwEHoUQDQgAERcGTn+HM6w9i2IzOYzCuAUocgYhsNfqMKfWrVWwl2VmmbrD05dsO
4 | hbGbUm8LKoVkm0xQy7iKGYhsju74dZV/Yw==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-child2-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIKfddaKjLtPaEUaXqK7UNvKntDEqUKWDFj+vLp6r2AQyoAoGCCqGSM49
3 | AwEHoUQDQgAEXHmhRwQoirXEXv2ZM61I4q6qzB2liXhn2E7KmDftitMUUDALm5Kh
4 | htzw1c7sBbqpFa9M1DjXYWZxh5KdKVjAtA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEINVHep4/z6iPa151Ipp4MmCb1l/VKkY3vuMfUQf3LhQboAoGCCqGSM49
3 | AwEHoUQDQgAEcE6hZ7muszSi5wXIVKPdIuLYPTIxQxj+jekPRfFnJF/RJKM0Nj3T
4 | Bk9spwCHwu1t3REyobjaZcFQk0y32Pje5A==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHyMVchnq8AejNfFrJ21w2xpeBFUZngtIXYppETD63htoAoGCCqGSM49
3 | AwEHoUQDQgAE9gBkbcasXNhSq7tl5xZFdhyjQgjZmdwkPaDRor6+o+71IY2IoEXy
4 | KGO81IFIPyp5ll3fIuOmCSfPE7jyKuYq/g==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEINWROTDvcM6Li142MO4d71das6/qKlkPBEaVWvVj+kB2oAoGCCqGSM49
3 | AwEHoUQDQgAEVOI+oAABPl+iRsCcGq81WbXap2L1r432T5gbzUNKYRvVsyFFYmdO
4 | 8ql8uDi4UxSY64eaeRFTuxdcsTG7M5K2yQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIAkkp8rbeZ7rFXOFai94Bhnnli2ziX4eJ2jDMX0urCAxoAoGCCqGSM49
3 | AwEHoUQDQgAEd0zitPjYjZnOMpL/Up1XFb+O0gLsr1Oe+O+ycZJ5UT3qRA2UzNoU
4 | aUDAwkOV4ZY94c1iWe6cAZcILARyyhWWDQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org1-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIDXcyUCV8EvKQZZzIZBkXehN/7lapE8iqkvTGI7Xy+GpoAoGCCqGSM49
3 | AwEHoUQDQgAEh4rNIwJfqstz4PYgjOCOB+2N7Ibs9j4Itqluq+up4SiWotDFUSMO
4 | tuj5nUZPSO5CMWduUDrMfKljgXa1Nh9dyQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child1-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHDbB8rcNWgpnvjw3rGb1vRjpz344/RGhM16L30q22h0oAoGCCqGSM49
3 | AwEHoUQDQgAE2unUgbEwZCAX1KEod3okX+hiCbhZSUKPQsWUdflJUeUNs+QgX3cK
4 | P3cJny9Cz/QwK6W7tHnjjTduTqS1/WYOdQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child1-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEINs92HUGXl6MamBY5XSOUwkO+eNvwtt/YWWk+6V1iUmzoAoGCCqGSM49
3 | AwEHoUQDQgAEuBHPafPq0OgHhw1vR6pC1enlQ6JoY/1EDxI4fbYJKGTJ9C/1tacZ
4 | b7H0QZpfaZYF5CVx4+kJQLhT0PiP8z94nQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEINsFs+zWVWrvjmSwbAJ1xry93NOCnjm8hzV4vG/xSRnmoAoGCCqGSM49
3 | AwEHoUQDQgAElwjnf54pbbp8BqWNZfMoqRzg8A101sYcpx/hCu5IMAcYX+UAnh3n
4 | IzthY38J2f27sBWf/JplAxR/9CB2rgdGJg==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child1-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIMYv+XGyXrooJQl5c3afeWp3oOz4wgK2vhj+5+mZQpXuoAoGCCqGSM49
3 | AwEHoUQDQgAEjA9jcgNnm3xn1LBgwtrJYlIVir/ZijyuiiBf5Q+UgVRV1/5PI1Ho
4 | DzJfOPZbIvof2Dth66xyN4iqzHdrG+qLrQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child1-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIAwiG2fPNeYbhbRXSVKdYuHpcFGFvGFVHMs6wWrGL4FGoAoGCCqGSM49
3 | AwEHoUQDQgAE+A9ZDKH/C0rGcb+iRWnpuqFny0EZ67Z0SifnOoeBQW5c4QYcxLqM
4 | WG8Rg3YpG8uNa5OOuZpAfowgDUrUisVP7g==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child2-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIIDbVu1RHsoAOZI302qdTunHbTvHeeA/7U9TOeKvsVdXoAoGCCqGSM49
3 | AwEHoUQDQgAE51qXXc+pm85TxTA4b6/cOq4hYHWqHQMcVDYfSs3VUehFrUhx6vU0
4 | hXQOR4/RD+z8mfjzhl965kQTd/LvGoMm3w==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child2-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHU767dhj0UVA9wYzUarAq1kyJhnNFo8C0BCfVk1wGeZoAoGCCqGSM49
3 | AwEHoUQDQgAE/aq3uqIwzf1N9nCtA6KXyJdBKY+7NZApuS1RQU9TVbcld0E5pfuv
4 | zCSP3XAccj9TmhgdAMpZVorJJEnaQpJQEg==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIBMR8FdTgqe7DdIjk5jMoPVAYfMHOGoaG61SlUnYPa7xoAoGCCqGSM49
3 | AwEHoUQDQgAEv9uf0HFbsWIX97AyUjsyDTUcjd5G95Rf8I39Ms+TUBU1cGEZCad3
4 | DVLWJ33jAyKdFgdDFg8IUtCVaumuuKb55w==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child2-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIPLV9Mc8EWRPXOcR/znEP8ArJ9YidRD3iJhJU8KrlMH1oAoGCCqGSM49
3 | AwEHoUQDQgAEdl9JCEyvH/euk9lgxahR69pBhc7QOJNI8gzYA9cp5kUuv4PHsB7M
4 | XxP9JyHAOH+tKtz0M9px6R7OW2j1t0aV9A==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-child2-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIDkRdqR6KlHE591+uXrdwgpy2Q5js1y2ZmIwEemxxTTzoAoGCCqGSM49
3 | AwEHoUQDQgAE52UGklgTNeIxMzi2+EYPO6Nn5o6Dydk6jdMHFaXMk1PRSWKfYLyb
4 | hd76vmkr8PGGO3JYqYXdRmqQFsrdkl1dSQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-client1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIPdDp1kovQWJfqmgQZS9rf37rz1eqGAUA7dQNDVKGYRSoAoGCCqGSM49
3 | AwEHoUQDQgAE6mJeETYw819h3UmPUxaW7rDtPXKKsP2Gp5X5rK+0u5muwDPSOCkE
4 | fKiNi8xZ4e4WkSJAGU+RH6JcwJMoaY6ZtA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-client2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEINB0/N4Wr4sVonDsUMSN3Sd+QocL0SqBBgxofQAfaV9loAoGCCqGSM49
3 | AwEHoUQDQgAEeIibUIxMR6YHufSMqpvqf1eVYXPoBmGbNj110tgJo1JIZnQ1FCmZ
4 | Wv75Xm7aWaoScGei3FNFPDbe8zC9nmjnOg==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEICPfzizCmGyTIDe67doDZQB3SbyY34AjAvC5OXAchuwqoAoGCCqGSM49
3 | AwEHoUQDQgAE5pwa9E3owGR7GHtxI7yaABwFFH45F/yK+HMlVyYKzpzsqN/Z9R+p
4 | ypX8pLuZREO1UuKMe1meREfXBdx7ttFDNg==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIIDmfSa1A3Eo6CARnAsi7VN4IAQG4/VHlv/IYjGr0B+QoAoGCCqGSM49
3 | AwEHoUQDQgAEeAf5bjlrt7TNLonFS6VJORMKYpNEqrnp1qFOmOPxI2usqPBSByGZ
4 | pf9lmDgKONOScUcik3s2kUYQMyT8CEK4pA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/certs/Org2-server2-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIJ+7RmXw+7s3675BKDhzXlqXSeUibOdW5fBafpccpu/loAoGCCqGSM49
3 | AwEHoUQDQgAEI6llfo4K71mICymm2euImZEwNWnEDDLxxNogPnfDoLqSCZeZlIPZ
4 | qktz2ZsZLVEVCBbkEwMJl08Axn5vhnCLGQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/dynamic_cert_update/localhost/server.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIByjCCAXCgAwIBAgIQQqYFM6okF534DLOXLZ17kDAKBggqhkjOPQQDAjBYMQsw
3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
4 | YW5jaXNjbzENMAsGA1UEChMET3JnMTENMAsGA1UEAxMET3JnMTAeFw0xODA4MjQx
5 | MjI4MzdaFw0yODA4MjExMjI4MzdaMBIxEDAOBgNVBAoTB0FjbWUgQ28wWTATBgcq
6 | hkjOPQIBBggqhkjOPQMBBwNCAAR7MhenFq9pBPcrLAFuN5bzunQxDVDvFexBdFNE
7 | bLX8N+bv9KNz7pii25DFbmdXwZGmyNK9cbG8aXmuvYuTYPGMo2IwYDAOBgNVHQ8B
8 | Af8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAPBgNV
9 | HSMECDAGgAQBAgMEMBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATAKBggqhkjO
10 | PQQDAgNIADBFAiEA8YTUfdgoxmYBdXOGLFFZvetRTK6WyheR0q6H2/RynLACIEvm
11 | agXnShXJ2Eulixz1VWO650ceFFbKjPAwBTg+8k3Y
12 | -----END CERTIFICATE-----
13 |
--------------------------------------------------------------------------------
/core/comm/testdata/dynamic_cert_update/localhost/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIDjlxlcvpDCTvylm8qZ+P6fS3lS0cLA3Zwrak0n0AaJBoAoGCCqGSM49
3 | AwEHoUQDQgAEezIXpxavaQT3KywBbjeW87p0MQ1Q7xXsQXRTRGy1/Dfm7/Sjc+6Y
4 | otuQxW5nV8GRpsjSvXGxvGl5rr2Lk2DxjA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/dynamic_cert_update/notlocalhost/server.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBxzCCAW6gAwIBAgIRAOUuxEmakkWMgxvyGt0J5MkwCgYIKoZIzj0EAwIwWDEL
3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
4 | cmFuY2lzY28xDTALBgNVBAoTBE9yZzExDTALBgNVBAMTBE9yZzEwHhcNMTgwODI0
5 | MTIzMDUxWhcNMjgwODIxMTIzMDUxWjASMRAwDgYDVQQKEwdBY21lIENvMFkwEwYH
6 | KoZIzj0CAQYIKoZIzj0DAQcDQgAEishT7ve8nUzkCWBgJQ7AksWNSzJOuJ5ROmjt
7 | zeIzVpNnwrNCvoxEVvAcp4y6JiNy1WoHLG2EBIbST62GAc/emqNfMF0wDgYDVR0P
8 | AQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDwYD
9 | VR0jBAgwBoAEAQIDBDAXBgNVHREEEDAOggxub3Rsb2NhbGhvc3QwCgYIKoZIzj0E
10 | AwIDRwAwRAIgD233Tr6lLlBLgretKA5TGr/VL4ftlwtD4a5w95FyiFACID7z9CrP
11 | q5+UgSM1KXrhRY/CSntG9Q9SVkBb7PlenQHi
12 | -----END CERTIFICATE-----
13 |
14 |
--------------------------------------------------------------------------------
/core/comm/testdata/dynamic_cert_update/notlocalhost/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIP+PmKQn03BMTJ6MgQqKTPKKsoeiycMa2GJy/HWk4/AioAoGCCqGSM49
3 | AwEHoUQDQgAEishT7ve8nUzkCWBgJQ7AksWNSzJOuJ5ROmjtzeIzVpNnwrNCvoxE
4 | VvAcp4y6JiNy1WoHLG2EBIbST62GAc/emg==
5 | -----END EC PRIVATE KEY-----
6 |
7 |
--------------------------------------------------------------------------------
/core/comm/testdata/grpc/generate.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | //+构建忽略
17 |
18 | //go:generate protoc--proto_path=$go path/src/github.com/hyperledger/fabric/core/comm/testdata/grpc--go_out=plugins=grpc:$go path/src test.proto
19 |
20 | package grpc
21 |
--------------------------------------------------------------------------------
/core/comm/testdata/grpc/test.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/core/comm/testdata/grpc";
10 |
11 | message Empty {}
12 |
13 | message Echo {
14 | bytes payload = 1;
15 | }
16 |
17 | service TestService {
18 | rpc EmptyCall(Empty) returns (Empty);
19 | }
20 |
21 | service EmptyService {
22 | rpc EmptyCall(Empty) returns (Empty);
23 | rpc EmptyStream(stream Empty) returns (stream Empty);
24 | }
25 |
26 | service EchoService {
27 | rpc EchoCall(Echo) returns (Echo);
28 | }
29 |
--------------------------------------------------------------------------------
/core/comm/testdata/impersonation/orgA/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIAkkp8rbeZ7rFXOFai94Bhnnli2ziX4eJ2jDMX0urCAxoAoGCCqGSM49
3 | AwEHoUQDQgAEd0zitPjYjZnOMpL/Up1XFb+O0gLsr1Oe+O+ycZJ5UT3qRA2UzNoU
4 | aUDAwkOV4ZY94c1iWe6cAZcILARyyhWWDQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/impersonation/orgB/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIIDmfSa1A3Eo6CARnAsi7VN4IAQG4/VHlv/IYjGr0B+QoAoGCCqGSM49
3 | AwEHoUQDQgAEeAf5bjlrt7TNLonFS6VJORMKYpNEqrnp1qFOmOPxI2usqPBSByGZ
4 | pf9lmDgKONOScUcik3s2kUYQMyT8CEK4pA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/comm/testdata/prime256v1-openssl-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PARAMETERS-----
2 | BggqhkjOPQMBBw==
3 | -----END EC PARAMETERS-----
4 | -----BEGIN EC PRIVATE KEY-----
5 | MHcCAQEEIM2rUTflEQ11m5g5yEm2Cer2yI+ziccl1NbSRVh3GUR0oAoGCCqGSM49
6 | AwEHoUQDQgAEu2FEZVSr30Afey6dwcypeg5P+BuYx5JSYdG0/KJIBjWKnzYo7FEm
7 | gMir7GbNh4pqA8KFrJZkPuxMgnEJBZTv+w==
8 | -----END EC PRIVATE KEY-----
9 |
--------------------------------------------------------------------------------
/core/container/util/testdata/BadMetadataInvalidIndex/META-INF/statedb/couchdb/indexes/bad.json:
--------------------------------------------------------------------------------
1 | This test file is expected to contain a json formatted couchdb index, but does not. It should fail golang chaincode packaging tests.
2 |
--------------------------------------------------------------------------------
/core/container/util/testdata/BadMetadataUnexpectedFolderContent/META-INF/unsupported_metadata_location.json:
--------------------------------------------------------------------------------
1 | This test file is located at an unexpected metadata location under META-INF. It should fail golang chaincode packaging tests.
2 |
--------------------------------------------------------------------------------
/core/container/util/testdata/BadMetadataUnexpectedFolderContent/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/META-INF/.hiddenfile:
--------------------------------------------------------------------------------
1 | # this is a hidden file
2 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/META-INF/statedb/couchdb/indexes/indexOwner.json:
--------------------------------------------------------------------------------
1 | {"index":{"fields":["docType","owner"]},"ddoc":"indexOwnerDoc", "name":"indexOwner","type":"json"}
2 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/artifact.xml:
--------------------------------------------------------------------------------
1 |
6 | true
7 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/src/Hello.class:
--------------------------------------------------------------------------------
1 | # This is a file that should not be included in java packages
2 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/src/Hello.java:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | public class Hello {
8 | public static void main(String []args) {
9 | System.out.println("Hello");
10 | System.exit(0);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/core/container/util/testdata/sourcefiles/src/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
--------------------------------------------------------------------------------
/core/deliverservice/testdata/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg4fKabn/wDrH9CNFt
3 | p41HuWqRZEalrLk0mwkVt42dCWahRANCAASyPS7GHgSfNsvB8X5d8WT291Z1AG+I
4 | e5OpkUtI4Cmqq4lTUz+ba1f22EftkP8AsvO3NV6EBPsTNnUgqwORk4Lu
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/handlers/decoration/decorator/decorator_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package decorator
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/protos/peer"
22 | "github.com/stretchr/testify/assert"
23 | )
24 |
25 | func TestDecorator(t *testing.T) {
26 | dec := NewDecorator()
27 | in := &peer.ChaincodeInput{
28 | Args: [][]byte{{1, 2, 3}},
29 | }
30 | out := dec.Decorate(nil, in)
31 | assert.Equal(t, in, out)
32 | }
33 |
--------------------------------------------------------------------------------
/core/handlers/decoration/plugin/decorator_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp,SecureKey Technologies Inc.保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "testing"
20 |
21 | "github.com/hyperledger/fabric/protos/peer"
22 | "github.com/stretchr/testify/assert"
23 | )
24 |
25 | func TestDecorator(t *testing.T) {
26 | dec := NewDecorator()
27 | in := &peer.ChaincodeInput{
28 | Args: [][]byte{{1, 2, 3}},
29 | }
30 | out := dec.Decorate(nil, in)
31 | assert.Equal(t, in, out)
32 | }
33 |
--------------------------------------------------------------------------------
/core/handlers/library/race_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建立种族
10 | //+build go1.9,linux,cgo go1.10,达尔文,cgo
11 | //+建设!PPC64
12 |
13 | /*
14 | 版权所有IBM公司。保留所有权利。
15 |
16 | SPDX许可证标识符:Apache-2.0
17 | **/
18 |
19 | package library
20 |
21 | func init() {
22 | raceEnabled = true
23 | }
24 |
--------------------------------------------------------------------------------
/core/ledger/customtx/test_export.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package customtx
17 |
18 | //initializetestenv初始化用于测试的自定义Tx处理器
19 | func InitializeTestEnv(processors Processors) {
20 | initialize(processors)
21 | }
22 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/.gitignore:
--------------------------------------------------------------------------------
1 | #SPDX-License-Identifier: Apache-2.0
2 |
3 | # level db snapshot contains '.log' files
4 | !**/*.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/chains/ledger1/blockfile_000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/chains/ledger1/blockfile_000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/chains/ledger2/blockfile_000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/chains/ledger2/blockfile_000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/index/000001.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/index/000001.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/index/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000000
2 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/index/MANIFEST-000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/chains/index/MANIFEST-000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/historyLeveldb/000001.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/historyLeveldb/000001.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/historyLeveldb/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000000
2 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/historyLeveldb/MANIFEST-000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/historyLeveldb/MANIFEST-000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/ledgerProvider/000001.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/ledgerProvider/000001.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/ledgerProvider/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000000
2 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/ledgerProvider/MANIFEST-000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/ledgerProvider/MANIFEST-000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/pvtdataStore/000001.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/pvtdataStore/000001.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/pvtdataStore/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000000
2 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/pvtdataStore/MANIFEST-000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/pvtdataStore/MANIFEST-000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/stateLeveldb/000001.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/stateLeveldb/000001.log
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/stateLeveldb/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000000
2 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/stateLeveldb/MANIFEST-000000:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/kvledger/tests/testdata/v11/sample_ledgers/ledgersData/stateLeveldb/MANIFEST-000000
--------------------------------------------------------------------------------
/core/ledger/kvledger/txmgmt/pvtstatepurgemgmt/pvtdata_key.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/pvtstatepurgemgmt";
10 |
11 | package pvtstatepurgemgmt;
12 |
13 | message PvtdataKeys {
14 | map map = 1;
15 | }
16 |
17 | message Collections {
18 | map map = 1;
19 | }
20 |
21 | message KeysAndHashes {
22 | repeated KeyAndHash list = 1;
23 | }
24 |
25 | message KeyAndHash {
26 | string key = 1;
27 | bytes hash = 2;
28 | }
29 |
30 |
31 |
--------------------------------------------------------------------------------
/core/ledger/kvledger/txmgmt/statedb/statecouchdb/msgs/msgs.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/statecouchdb/msgs";
10 |
11 | package msgs;
12 |
13 | message VersionFieldProto {
14 | bytes version_bytes = 1;
15 | bytes metadata = 2;
16 | }
--------------------------------------------------------------------------------
/core/ledger/kvledger/txmgmt/statedb/stateleveldb/msgs/storage.proto:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright IBM Corp. All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
7 | syntax = "proto3";
8 |
9 | option go_package = "github.com/hyperledger/fabric/core/ledger/kvledger/txmgmt/statedb/stateleveldb/msgs";
10 |
11 | package msgs;
12 |
13 | message VersionedValueProto {
14 | bytes version_bytes = 1;
15 | bytes value = 2;
16 | bytes metadata = 3;
17 | }
--------------------------------------------------------------------------------
/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/000002.ldb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/000002.ldb
--------------------------------------------------------------------------------
/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/000005.ldb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/000005.ldb
--------------------------------------------------------------------------------
/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000065
2 |
--------------------------------------------------------------------------------
/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/LOCK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/LOCK
--------------------------------------------------------------------------------
/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/MANIFEST-000065:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/core/ledger/pvtdatastorage/testdata/v11_v12/ledgersData/pvtdataStore/MANIFEST-000065
--------------------------------------------------------------------------------
/core/middleware/middleware_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package middleware_test
17 |
18 | import (
19 | "net/http"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 |
24 | "testing"
25 | )
26 |
27 | func TestMiddleware(t *testing.T) {
28 | RegisterFailHandler(Fail)
29 | RunSpecs(t, "Middleware Suite")
30 | }
31 |
32 | //go:生成伪造者-o fakes/http_handler.go--fake name http handler。亨德勒
33 |
34 | type httpHandler interface {
35 | http.Handler
36 | }
37 |
--------------------------------------------------------------------------------
/core/peer/testdata/Org1-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEICfXQtVmdQAlp/l9umWJqCXNTDurmciDNmGHPpxHwUK/oAoGCCqGSM49
3 | AwEHoUQDQgAECb7YJmFuaycD4cpDKdcrPt9Vm+/CW/8N02Dcx2DuUhw/bPRvTv94
4 | BnnRyF0k1yM0B39ACP+aYYbh05t6jihMoQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/peer/testdata/Org2-child1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEILECltESx3k5sQRtCt5rQEAo9cvTDyPxjv2UT092SY2NoAoGCCqGSM49
3 | AwEHoUQDQgAEUwSfP6NbaRz8LosWA4EcHK8wK7tHFiSYROilhwGtLwQhuJ5dM440
4 | UqIPogLlHGOGf4CaB6JenSkh5PYeY66rRA==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/peer/testdata/Org2-child1-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIPOWGbAnyV/ubULozdRQKt+kMPrz5l3LVxz80uYpufjQoAoGCCqGSM49
3 | AwEHoUQDQgAEmlsF+xDEaYFUOCWrK+RprJIgqkj9VWQNC44jkklY1LAkEe91rr8f
4 | i80ce8S3HEst8PWwCTod9rUy6rful7VzZQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/peer/testdata/Org2-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHpb9jJemQ/0ODY4gM1fN+42SQ3+fAoU5vbiWFbFZ4i7oAoGCCqGSM49
3 | AwEHoUQDQgAE/upgMhgdFQWhgkojByygEkt/6vIVGwWF5o6NdZoAzCJJBsMqkb0l
4 | CORLDG+l0UuFJR/F7dTbAPvZuFY9Slpeaw==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/peer/testdata/Org3-server1-key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIGTkwJcw9zftKoRk4Qo/74MFO3a+3Wu/E2s58uVDeudgoAoGCCqGSM49
3 | AwEHoUQDQgAEX1hweplf/CRwhjHBTvPKiCLCozo+Ed83UrqlXXn9+g2D0LK35v0Q
4 | pQpNEjBBGjnIE0Yng7FRQZoJVFbQNW4ZcQ==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/core/peer/testdata/generate.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2017保留所有权利。
11 |
12 | 根据Apache许可证2.0版(以下简称“许可证”)获得许可;
13 | 除非符合许可证,否则您不能使用此文件。
14 | 您可以在以下网址获得许可证副本:
15 |
16 | http://www.apache.org/licenses/license-2.0
17 |
18 | 除非适用法律要求或书面同意,软件
19 | 根据许可证分发是按“原样”分发的,
20 | 无任何明示或暗示的保证或条件。
21 | 有关管理权限和
22 | 许可证限制。
23 | **/
24 |
25 |
26 | //+构建忽略
27 |
28 | //go:generate-command gencerts go运行$gopath/src/github.com/hyperledger/fabric/core/comm/testdata/certs/generate.go
29 | //go:生成gencerts-orgs 3-子orgs 1-服务器1-客户端0
30 |
31 | package testdata
32 |
--------------------------------------------------------------------------------
/core/scc/race_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建立种族
10 | //+构建插件已启用,CGO
11 | //+构建达尔文,go1.10 linux,go1.10 linux,go1.9,!PPC64
12 |
13 | /*
14 | 版权所有IBM公司。保留所有权利。
15 |
16 | SPDX许可证标识符:Apache-2.0
17 | **/
18 |
19 | package scc
20 |
21 | func init() {
22 | raceEnabled = true
23 | }
24 |
--------------------------------------------------------------------------------
/core/scc/register.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建设!已启用插头!达尔文!GO1.10 Linux!go1.9 linux,ppc64le,!GO1.10
10 |
11 | /*
12 | 版权所有IBM公司。保留所有权利。
13 |
14 | SPDX许可证标识符:Apache-2.0
15 | **/
16 |
17 |
18 | package scc
19 |
20 | //CreatePluginSyscs创建编译到结构中的所有系统链代码
21 | func CreatePluginSysCCs(p *Provider) []SelfDescribingSysCC {
22 | return nil
23 | }
24 |
--------------------------------------------------------------------------------
/core/scc/register_pluginsenabled.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+构建插件已启用,CGO
10 | //+构建达尔文,go1.10 linux,go1.10 linux,go1.9,!PPC64
11 |
12 | /*
13 | 版权所有IBM公司。保留所有权利。
14 |
15 | SPDX许可证标识符:Apache-2.0
16 | **/
17 |
18 |
19 | package scc
20 |
21 | //createpluginssccs创建所有由plugin加载的系统链码。
22 | func CreatePluginSysCCs(p *Provider) []SelfDescribingSysCC {
23 | var sdscs []SelfDescribingSysCC
24 | for _, pscc := range loadSysCCs(p) {
25 | sdscs = append(sdscs, &SysCCWrapper{SCC: pscc})
26 | }
27 | return sdscs
28 | }
29 |
--------------------------------------------------------------------------------
/devenv/golang_buildcmd.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # Copyright IBM Corp. All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 | set -e
9 | for arch in 8 6; do
10 | for cmd in a c g l; do
11 | go tool dist install -v cmd/$arch$cmd
12 | done
13 | done
14 | exit 0
15 |
--------------------------------------------------------------------------------
/devenv/golang_buildpkg.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # Copyright IBM Corp. All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 | if [ -z "$1" ]; then
9 | echo 'GOOS is not specified' 1>&2
10 | exit 2
11 | else
12 | export GOOS=$1
13 | if [ "$GOOS" = "windows" ]; then
14 | export CGO_ENABLED=0
15 | fi
16 | fi
17 | shift
18 | if [ -n "$1" ]; then
19 | export GOARCH=$1
20 | fi
21 | cd $GOROOT/src
22 | go tool dist install -v pkg/runtime
23 | go install -v -a std
24 |
--------------------------------------------------------------------------------
/devenv/images/openchain-dev-env-deployment-diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/devenv/images/openchain-dev-env-deployment-diagram.png
--------------------------------------------------------------------------------
/discovery/client/testdata/client/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgJSd74X0TaPasM9Ey
3 | 4DS81fY7CdI1m7COKNyVSjvM/s6hRANCAAR2R3XOqJdFr3ZK0xv1U67jPtpmW+qD
4 | z3TnZacySrpuCP82txGI0NO5emLvy2RJkULpTU6mowFRmpzRbaJ/+0NH
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/discovery/client/testdata/server/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjF0UIONy0czJh2Ks
3 | VhTeQ3fgkBmpBMdDb9A2dJ5tUWahRANCAASTEG09s7ypUJKUn+lEHxwSLSfp32zQ
4 | sUxaQQC1BS5l00fRwcUrrAIaSgZy2GoQuNZBSAozgRhqsM/hiwkzCD3T
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/discovery/cmd/testdata/8150cb2d09628ccc89727611ebb736189f6482747eff9b8aaaa27e9a382d2e93_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiMUviC3wiXZITKuC
3 | dZ3EOjolfC2Buep2zac1orHq/JmhRANCAAQcSjQ/I/Ngs9d/ARFwDH/PJM4bCCvc
4 | 3A6T2/8Cuz2mBQ96otBiwCJcbnV/bQ/B2LcKOhLe4g042x/OAeTLpW4W
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | _build/
2 |
--------------------------------------------------------------------------------
/docs/custom_theme/searchbox.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: Apache-2.0
2 | python-markdown-math==0.2
3 |
4 | alabaster==0.7.8
5 | Babel==2.3.4
6 | docutils==0.12
7 | imagesize==0.7.1
8 | Jinja2==2.8
9 | MarkupSafe==0.23
10 | Pygments==2.1.3
11 | pytz==2016.4
12 | six==1.10.0
13 | snowballstemmer==1.2.1
14 | Sphinx==1.7.2
15 | sphinx-rtd-theme==0.2.5b2
16 | recommonmark==0.4.0
17 |
--------------------------------------------------------------------------------
/docs/source/_static/images/github_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/_static/images/github_button.png
--------------------------------------------------------------------------------
/docs/source/_static/images/rocketchat_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/_static/images/rocketchat_button.png
--------------------------------------------------------------------------------
/docs/source/_static/images/stackoverflow_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/_static/images/stackoverflow_button.png
--------------------------------------------------------------------------------
/docs/source/_static/images/youtube_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/_static/images/youtube_button.png
--------------------------------------------------------------------------------
/docs/source/architecture.rst:
--------------------------------------------------------------------------------
1 | Architecture Reference
2 | ======================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | arch-deep-dive
8 | txflow
9 | Hyperledger Fabric CA's User Guide
10 | fabric-sdks
11 | discovery-overview
12 | channels
13 | capability_requirements
14 | couchdb_as_state_database
15 | peer_event_services
16 | private-data-arch
17 | readwrite
18 | gossip
19 |
--------------------------------------------------------------------------------
/docs/source/command_ref.rst:
--------------------------------------------------------------------------------
1 | Commands Reference
2 | ==================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | commands/peercommand.md
8 | commands/peerchaincode.md
9 | commands/peerchannel.md
10 | commands/peerversion.md
11 | commands/peerlogging.md
12 | commands/peernode.md
13 | commands/configtxgen.md
14 | commands/configtxlator.md
15 | commands/cryptogen.md
16 | discovery-cli.md
17 | commands/fabric-ca-commands
18 |
--------------------------------------------------------------------------------
/docs/source/dev-setup/headers.txt:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright [COPYRIGHT OWNER] All Rights Reserved.
3 |
4 | SPDX-License-Identifier: Apache-2.0
5 | */
6 |
--------------------------------------------------------------------------------
/docs/source/developapps/apis.md:
--------------------------------------------------------------------------------
1 | # APIs
2 |
--------------------------------------------------------------------------------
/docs/source/developapps/designelements.rst:
--------------------------------------------------------------------------------
1 | Application design elements
2 | ===========================
3 |
4 | This section elaborates the key features for client application and smart
5 | contract development found in Hyperledger Fabric. A solid understanding of
6 | the features will help you design and implement efficient and effective
7 | solutions.
8 |
9 | .. toctree::
10 | :maxdepth: 1
11 |
12 | namespace.md
13 | chaincodenamespace.md
14 | transactioncontext.md
15 | transactionhandler.md
16 | endorsementpolicies.md
17 | connectionprofile.md
18 | connectionoptions.md
19 | wallet.md
20 | gateway.md
21 |
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.10.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.11.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.12.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.13.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.25.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.30.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.35.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.50.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.51.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.51.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.7.png
--------------------------------------------------------------------------------
/docs/source/developapps/develop.diagram.8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/develop.diagram.8.png
--------------------------------------------------------------------------------
/docs/source/developapps/diagrams.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/developapps/diagrams.pptx
--------------------------------------------------------------------------------
/docs/source/developapps/namespace.md:
--------------------------------------------------------------------------------
1 | # Contract namespaces
2 |
3 |
5 |
--------------------------------------------------------------------------------
/docs/source/developapps/transactioncontext.md:
--------------------------------------------------------------------------------
1 | # Transaction context
2 |
3 |
4 |
6 |
--------------------------------------------------------------------------------
/docs/source/diagrams/diagrams.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/diagrams/diagrams.pptx
--------------------------------------------------------------------------------
/docs/source/fabric-sdks.rst:
--------------------------------------------------------------------------------
1 | Hyperledger Fabric SDKs
2 | =======================
3 |
4 | Hyperledger Fabric intends to offer a number of SDKs for a wide variety of
5 | programming languages. The first two delivered are the Node.js and Java
6 | SDKs. We hope to provide Python, REST and Go SDKs in a subsequent release.
7 |
8 | * `Hyperledger Fabric Node SDK documentation `__.
9 | * `Hyperledger Fabric Java SDK documentation `__.
10 |
11 | .. Licensed under Creative Commons Attribution 4.0 International License
12 | https://creativecommons.org/licenses/by/4.0/
13 |
--------------------------------------------------------------------------------
/docs/source/glossary/diagrams.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/diagrams.pptx
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.block.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.block.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.blockchain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.blockchain.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.channel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.channel.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.ledger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.ledger.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.msp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.msp.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.orderer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.orderer.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.orderingservice.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.orderingservice.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.organization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.organization.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.peer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.peer.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.transaction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.transaction.png
--------------------------------------------------------------------------------
/docs/source/glossary/glossary.worldstate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/glossary/glossary.worldstate.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.10.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.11.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.12.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.7.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.8.png
--------------------------------------------------------------------------------
/docs/source/identity/identity.diagram.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/identity/identity.diagram.9.png
--------------------------------------------------------------------------------
/docs/source/images/AddSSH1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/AddSSH1.png
--------------------------------------------------------------------------------
/docs/source/images/AddSSH2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/AddSSH2.png
--------------------------------------------------------------------------------
/docs/source/images/AppConceptsOverview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/AppConceptsOverview.png
--------------------------------------------------------------------------------
/docs/source/images/GitCloneCmd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/GitCloneCmd.png
--------------------------------------------------------------------------------
/docs/source/images/Jira.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Jira.png
--------------------------------------------------------------------------------
/docs/source/images/Jira1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Jira1.png
--------------------------------------------------------------------------------
/docs/source/images/Jira2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Jira2.png
--------------------------------------------------------------------------------
/docs/source/images/Jira3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Jira3.png
--------------------------------------------------------------------------------
/docs/source/images/Jira4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Jira4.png
--------------------------------------------------------------------------------
/docs/source/images/NewGerritUI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/NewGerritUI.png
--------------------------------------------------------------------------------
/docs/source/images/QueryingtheLedger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/QueryingtheLedger.png
--------------------------------------------------------------------------------
/docs/source/images/RunningtheSample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/RunningtheSample.png
--------------------------------------------------------------------------------
/docs/source/images/SSHKeys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SSHKeys.png
--------------------------------------------------------------------------------
/docs/source/images/Settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Settings.png
--------------------------------------------------------------------------------
/docs/source/images/SideDB-org1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SideDB-org1.png
--------------------------------------------------------------------------------
/docs/source/images/SideDB-org2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SideDB-org2.png
--------------------------------------------------------------------------------
/docs/source/images/SideDB-peer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SideDB-peer.png
--------------------------------------------------------------------------------
/docs/source/images/SideDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SideDB.png
--------------------------------------------------------------------------------
/docs/source/images/SideDBTutorialImages.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/SideDBTutorialImages.pptx
--------------------------------------------------------------------------------
/docs/source/images/Smart_Contract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/Smart_Contract.png
--------------------------------------------------------------------------------
/docs/source/images/UpdatingtheLedger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/UpdatingtheLedger.png
--------------------------------------------------------------------------------
/docs/source/images/attributes_flow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/attributes_flow.png
--------------------------------------------------------------------------------
/docs/source/images/basic_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/basic_network.png
--------------------------------------------------------------------------------
/docs/source/images/blocks-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/blocks-3.png
--------------------------------------------------------------------------------
/docs/source/images/chaincode_swimlane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/chaincode_swimlane.png
--------------------------------------------------------------------------------
/docs/source/images/consensus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/consensus.png
--------------------------------------------------------------------------------
/docs/source/images/couchdb_tutorial_pkg_example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/couchdb_tutorial_pkg_example.png
--------------------------------------------------------------------------------
/docs/source/images/current_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/current_network.png
--------------------------------------------------------------------------------
/docs/source/images/flow-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/flow-4.png
--------------------------------------------------------------------------------
/docs/source/images/future_net.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/future_net.png
--------------------------------------------------------------------------------
/docs/source/images/hyperledger_fabric_logo_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/hyperledger_fabric_logo_color.png
--------------------------------------------------------------------------------
/docs/source/images/idemix-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idemix-overview.png
--------------------------------------------------------------------------------
/docs/source/images/idemix-three-steps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idemix-three-steps.png
--------------------------------------------------------------------------------
/docs/source/images/idmx-audit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idmx-audit.png
--------------------------------------------------------------------------------
/docs/source/images/idmx-contribution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idmx-contribution.png
--------------------------------------------------------------------------------
/docs/source/images/idmx-revocation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idmx-revocation.png
--------------------------------------------------------------------------------
/docs/source/images/idmx-steps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idmx-steps.png
--------------------------------------------------------------------------------
/docs/source/images/idmx-vs-x509.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/idmx-vs-x509.png
--------------------------------------------------------------------------------
/docs/source/images/lf-sandbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/lf-sandbox.png
--------------------------------------------------------------------------------
/docs/source/images/standalone-app-developer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/standalone-app-developer.png
--------------------------------------------------------------------------------
/docs/source/images/step0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step0.png
--------------------------------------------------------------------------------
/docs/source/images/step1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step1.png
--------------------------------------------------------------------------------
/docs/source/images/step2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step2.png
--------------------------------------------------------------------------------
/docs/source/images/step3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step3.png
--------------------------------------------------------------------------------
/docs/source/images/step4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step4.png
--------------------------------------------------------------------------------
/docs/source/images/step5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step5.png
--------------------------------------------------------------------------------
/docs/source/images/step6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/step6.png
--------------------------------------------------------------------------------
/docs/source/images/what.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/what.png
--------------------------------------------------------------------------------
/docs/source/images/world_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/images/world_view.png
--------------------------------------------------------------------------------
/docs/source/key_concepts.rst:
--------------------------------------------------------------------------------
1 | Key Concepts
2 | ============
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | blockchain
8 | functionalities
9 | fabric_model
10 | network/network.md
11 | identity/identity.md
12 | membership/membership.md
13 | peers/peers.md
14 | private-data/private-data.md
15 | ledger/ledger.md
16 | usecases
17 |
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/ledger/ledger.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/ledger/ledger.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/mdtorst.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright IBM Corp. All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 | FILES=*.md
9 | for f in $FILES
10 | do
11 | # extension="${f##*.}"
12 | filename="${f%.*}"
13 | echo "Converting $f to $filename.rst"
14 | `pandoc $f -t rst -o $filename.rst`
15 | # uncomment this line to delete the source file.
16 | # rm $f
17 | done
18 |
--------------------------------------------------------------------------------
/docs/source/membership/membership.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/membership/membership.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/membership/membership.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/membership/membership.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/membership/membership.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/membership/membership.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/membership/membership.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/membership/membership.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.10.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.11.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.12.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.14.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.15.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.2.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.2.1.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.7.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.8.png
--------------------------------------------------------------------------------
/docs/source/network/network.diagram.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/network/network.diagram.9.png
--------------------------------------------------------------------------------
/docs/source/ops_guide.rst:
--------------------------------------------------------------------------------
1 | Operations Guides
2 | =================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | upgrade_to_newest_version
8 | config_update
9 | msp
10 | configtx
11 | endorsement-policies
12 | pluggable_endorsement_and_validation
13 | access_control.md
14 | idemix
15 | idemixgen
16 | operations_service
17 | metrics_reference
18 | error-handling
19 | logging-control
20 | enable_tls
21 | kafka
22 |
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.10.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.11.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.12.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.8.png
--------------------------------------------------------------------------------
/docs/source/peers/peers.diagram.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/peers/peers.diagram.9.png
--------------------------------------------------------------------------------
/docs/source/private-data/PrivateDataConcept-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/PrivateDataConcept-1.png
--------------------------------------------------------------------------------
/docs/source/private-data/PrivateDataConcept-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/PrivateDataConcept-2.png
--------------------------------------------------------------------------------
/docs/source/private-data/PrivateDataConcept-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/PrivateDataConcept-3.png
--------------------------------------------------------------------------------
/docs/source/private-data/PrivateDataConceptImages.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/PrivateDataConceptImages.pptx
--------------------------------------------------------------------------------
/docs/source/private-data/SideDB-peer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/SideDB-peer.png
--------------------------------------------------------------------------------
/docs/source/private-data/SideDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/private-data/SideDB.png
--------------------------------------------------------------------------------
/docs/source/releases.rst:
--------------------------------------------------------------------------------
1 | Releases
2 | ========
3 |
4 | Hyperledger Fabric releases are documented on the `Fabric github page `__.
5 |
6 | .. Licensed under Creative Commons Attribution 4.0 International License
7 | https://creativecommons.org/licenses/by/4.0/
8 |
--------------------------------------------------------------------------------
/docs/source/requirements.txt:
--------------------------------------------------------------------------------
1 | python-markdown-math==0.2
2 |
--------------------------------------------------------------------------------
/docs/source/smartcontract.rst:
--------------------------------------------------------------------------------
1 | Chaincode
2 | =========
3 |
4 | [WIP]
5 |
6 | The widely-used term, smart contract, is referred to as "chaincode" in
7 | Hyperledger Fabric.
8 |
9 | Self-executing logic that encodes the rules for specific types of
10 | network transactions. Chaincode (currently written in Go) is
11 | installed and instantiated onto a channel's peers by an appropriately
12 | authorized member. End users then invoke chaincode through a client-side
13 | application that interfaces with a network peer. Chaincode runs network
14 | transactions, which if validated, are appended to the shared ledger and
15 | modify world state.
16 |
17 | .. Licensed under Creative Commons Attribution 4.0 International License
18 | https://creativecommons.org/licenses/by/4.0/
19 |
20 |
--------------------------------------------------------------------------------
/docs/source/status.rst:
--------------------------------------------------------------------------------
1 | Status
2 | =================
3 |
4 | Hyperledger Fabric is in the *Active* state. For more information on the history of this project see our `wiki page `__. Information on what *Active* entails can be found in
5 | the Hyperledger `Project Lifecycle document `__.
6 |
7 | .. Licensed under Creative Commons Attribution 4.0 International License
8 | https://creativecommons.org/licenses/by/4.0/
9 |
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.10.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.11.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.12.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.3.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.4.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.5.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.6.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.7.png
--------------------------------------------------------------------------------
/docs/source/tutorial/commercial_paper.diagram.8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/commercial_paper.diagram.8.png
--------------------------------------------------------------------------------
/docs/source/tutorial/diagrams.pptx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/diagrams.pptx
--------------------------------------------------------------------------------
/docs/source/tutorial/write_first_app.diagram.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/write_first_app.diagram.1.png
--------------------------------------------------------------------------------
/docs/source/tutorial/write_first_app.diagram.2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/docs/source/tutorial/write_first_app.diagram.2.png
--------------------------------------------------------------------------------
/docs/source/usecases.rst:
--------------------------------------------------------------------------------
1 | Use Cases
2 | =========
3 |
4 | The Hyperledger Requirements WG is documenting a number of blockchain use
5 | cases and maintaining an inventory
6 | `here `__.
7 |
8 | .. Licensed under Creative Commons Attribution 4.0 International License
9 | https://creativecommons.org/licenses/by/4.0/
10 |
11 |
--------------------------------------------------------------------------------
/docs/source/videos.rst:
--------------------------------------------------------------------------------
1 | Videos
2 | ======
3 |
4 | Refer to the Hyperledger Fabric channel on YouTube
5 |
6 | .. raw:: html
7 |
8 |
9 |
10 |
11 | This collection contains developers demonstrating various v1 features and
12 | components such as: ledger, channels, gossip, SDK, chaincode, MSP, and
13 | more...
14 |
15 | .. Licensed under Creative Commons Attribution 4.0 International License
16 | https://creativecommons.org/licenses/by/4.0/
17 |
--------------------------------------------------------------------------------
/docs/wrappers/configtxgen_preamble.md:
--------------------------------------------------------------------------------
1 | # configtxgen
2 |
3 | The `configtxgen` command allows users to create and inspect channel config
4 | related artifacts. The content of the generated artifacts is dictated by the
5 | contents of `configtx.yaml`.
6 |
7 | ## Syntax
8 |
9 | The `configtxgen` tool has no sub-commands, but supports flags which can be set
10 | to accomplish a number of tasks.
11 |
--------------------------------------------------------------------------------
/docs/wrappers/configtxlator_preamble.md:
--------------------------------------------------------------------------------
1 | # configtxlator
2 |
3 | The `configtxlator` command allows users to translate between protobuf and JSON
4 | versions of fabric data structures and create config updates. The command may
5 | either start a REST server to expose its functions over HTTP or may be utilized
6 | directly as a command line tool.
7 |
8 | ## Syntax
9 |
10 | The `configtxlator` tool has five sub-commands, as follows:
11 |
12 | * start
13 | * proto_encode
14 | * proto_decode
15 | * compute_update
16 | * version
17 |
--------------------------------------------------------------------------------
/docs/wrappers/cryptogen_postscript.md:
--------------------------------------------------------------------------------
1 | ## Usage
2 |
3 | Here's an example using the different available flags on the ``cryptogen extend``
4 | command.
5 |
6 | ```
7 | cryptogen extend --input="crypto-config" --config=config.yaml
8 |
9 | org3.example.com
10 | ```
11 |
12 | Where config.yaml adds a new peer organization called ``org3.example.com``
13 |
14 | 
This work is licensed under a Creative Commons Attribution 4.0 International License.
15 |
--------------------------------------------------------------------------------
/docs/wrappers/cryptogen_preamble.md:
--------------------------------------------------------------------------------
1 | # cryptogen
2 |
3 | `cryptogen` is an utility for generating Hyperledger Fabric key material.
4 | It is provided as a means of preconfiguring a network for testing purposes.
5 | It would normally not be used in the operation of a production network.
6 |
7 | ## Syntax
8 |
9 | The ``cryptogen`` command has five subcommands, as follows:
10 |
11 | * help
12 | * generate
13 | * showtemplate
14 | * extend
15 | * version
16 |
--------------------------------------------------------------------------------
/docs/wrappers/license_postscript.md:
--------------------------------------------------------------------------------
1 |
2 | 
This work is licensed under a Creative Commons Attribution 4.0 International License.
3 |
--------------------------------------------------------------------------------
/docs/wrappers/peer_channel_preamble.md:
--------------------------------------------------------------------------------
1 | # peer channel
2 |
3 | The `peer channel` command allows administrators to perform channel related
4 | operations on a peer, such as joining a channel or listing the channels to which
5 | a peer is joined.
6 |
7 | ## Syntax
8 |
9 | The `peer channel` command has the following subcommands:
10 |
11 | * create
12 | * fetch
13 | * getinfo
14 | * join
15 | * list
16 | * signconfigtx
17 | * update
18 |
--------------------------------------------------------------------------------
/docs/wrappers/peer_logging_preamble.md:
--------------------------------------------------------------------------------
1 | # peer logging
2 |
3 | The `peer logging` subcommand allows administrators to dynamically view and
4 | configure the log levels of a peer.
5 |
6 | ## Syntax
7 |
8 | The `peer logging` command has the following subcommands:
9 |
10 | * getlogspec
11 | * setlogspec
12 |
13 | and the following deprecated subcommands, which will be removed
14 | in a future release:
15 |
16 | * getlevel
17 | * setlevel
18 | * revertlevels
19 |
20 | The different subcommand options (`getlogspec`, `setlogspec`, `getlevel`, `setlevel`,
21 | and `revertlevels`) relate to the different logging operations that are relevant
22 | to a peer.
23 |
24 | Each peer logging subcommand is described together with its options in its own
25 | section in this topic.
26 |
--------------------------------------------------------------------------------
/docs/wrappers/peer_node_preamble.md:
--------------------------------------------------------------------------------
1 | # peer node
2 |
3 | The `peer node` command allows an administrator to start a peer node or check
4 | the status of a peer node.
5 |
6 | ## Syntax
7 |
8 | The `peer node` command has the following subcommands:
9 |
10 | * start
11 | * status
12 |
--------------------------------------------------------------------------------
/docs/wrappers/peer_version_preamble.md:
--------------------------------------------------------------------------------
1 | # peer version
2 |
3 | The `peer version` command displays the version information of the peer. It
4 | displays version, Commit SHA, Go version, OS/architecture, and chaincode
5 | information. For example:
6 |
7 | ```
8 | peer:
9 | Version: 1.4.0
10 | Commit SHA: 0efc897
11 | Go version: go1.11.1
12 | OS/Arch: linux/amd64
13 | Chaincode:
14 | Base Image Version: 0.4.14
15 | Base Docker Namespace: hyperledger
16 | Base Docker Label: org.hyperledger.fabric
17 | Docker Namespace: hyperledger
18 | ```
19 |
20 | ## Syntax
21 |
--------------------------------------------------------------------------------
/examples/chaincode/go/example01/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 |
21 | "github.com/hyperledger/fabric/core/chaincode/shim"
22 | "github.com/hyperledger/fabric/examples/chaincode/go/example01"
23 | )
24 |
25 | func main() {
26 | err := shim.Start(new(example01.SimpleChaincode))
27 | if err != nil {
28 | fmt.Printf("Error starting Simple chaincode: %s", err)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/chaincode/go/example02/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 |
21 | "github.com/hyperledger/fabric/core/chaincode/shim"
22 | "github.com/hyperledger/fabric/examples/chaincode/go/example02"
23 | )
24 |
25 | func main() {
26 | err := shim.Start(new(example02.SimpleChaincode))
27 | if err != nil {
28 | fmt.Printf("Error starting Simple chaincode: %s", err)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/chaincode/go/example03/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 |
21 | "github.com/hyperledger/fabric/core/chaincode/shim"
22 | "github.com/hyperledger/fabric/examples/chaincode/go/example03"
23 | )
24 |
25 | func main() {
26 | err := shim.Start(new(example03.SimpleChaincode))
27 | if err != nil {
28 | fmt.Printf("Error starting chaincode: %s", err)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/chaincode/go/example04/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 |
21 | "github.com/hyperledger/fabric/core/chaincode/shim"
22 | "github.com/hyperledger/fabric/examples/chaincode/go/example04"
23 | )
24 |
25 | func main() {
26 | err := shim.Start(new(example04.SimpleChaincode))
27 | if err != nil {
28 | fmt.Printf("Error starting Simple chaincode: %s", err)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/chaincode/go/example05/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 |
21 | "github.com/hyperledger/fabric/core/chaincode/shim"
22 | "github.com/hyperledger/fabric/examples/chaincode/go/example05"
23 | )
24 |
25 | func main() {
26 | err := shim.Start(new(example05.SimpleChaincode))
27 | if err != nil {
28 | fmt.Printf("Error starting Simple chaincode: %s", err)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/examples/chaincode/go/marbles02/META-INF/statedb/couchdb/indexes/indexOwner.json:
--------------------------------------------------------------------------------
1 | {"index":{"fields":["docType","owner"]},"ddoc":"indexOwnerDoc", "name":"indexOwner","type":"json"}
2 |
--------------------------------------------------------------------------------
/examples/cluster/compose/configure.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright Greg Haskins All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 |
9 | set -x
10 | set -e
11 |
12 | CHANNEL_NAME=$1
13 | CHANNEL_TXNS=$2
14 | PEERS=$3
15 | TLS_ENABLED=$4
16 |
17 | CA_CRT=cryptogen/ordererOrganizations/orderer.net/tlsca/tlsca.orderer.net-cert.pem
18 |
19 | if [ "$TLS_ENABLED" == "true" ]; then
20 | CREATE_OPTS="--tls --cafile $CA_CRT"
21 | fi
22 |
23 | for TXN in $CHANNEL_TXNS; do
24 | peer channel create -o orderer:7050 \
25 | -c $CHANNEL_NAME \
26 | -f $TXN \
27 | $CREATE_OPTS
28 | done
29 |
30 | for PEER in $PEERS; do
31 | CORE_PEER_ADDRESS=$PEER:7051 peer channel join -b $CHANNEL_NAME.block
32 | done
33 |
--------------------------------------------------------------------------------
/examples/cluster/config/cryptogen.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrdererOrgs:
7 | - Name: Orderer
8 | Domain: orderer.net
9 | CA:
10 | Country: US
11 | Province: California
12 | Locality: San Francisco
13 | Specs:
14 | - Hostname: orderer
15 |
16 | PeerOrgs:
17 | - Name: Org1
18 | Domain: org1.net
19 | CA:
20 | Country: US
21 | Province: California
22 | Locality: San Francisco
23 | Template:
24 | Count: 4
25 | Start: 1
26 | Users:
27 | Count: 1
28 |
--------------------------------------------------------------------------------
/gossip/comm/demux_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package comm
17 |
18 | import "testing"
19 |
20 | func TestChannelDeMultiplexer_Close(t *testing.T) {
21 | demux := NewChannelDemultiplexer()
22 | demux.Close()
23 | demux.DeMultiplex("msg")
24 | }
25 |
--------------------------------------------------------------------------------
/gossip/common/cert.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package common
17 |
18 | import (
19 | "sync/atomic"
20 | )
21 |
22 | //TLSCertificates聚合服务器和客户端TLS证书
23 | type TLSCertificates struct {
24 | TLSServerCert atomic.Value //*对等端的tls.certificate server证书
25 | TLSClientCert atomic.Value //*对等端的tls.certificate客户端证书
26 | }
27 |
--------------------------------------------------------------------------------
/images/buildenv/Dockerfile.in:
--------------------------------------------------------------------------------
1 | # Copyright Greg Haskins All Rights Reserved
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 |
5 | FROM _BASE_NS_/fabric-baseimage:_BASE_TAG_
6 | COPY payload/protoc-gen-go /usr/local/bin/
7 | ADD payload/gotools.tar.bz2 /usr/local/bin/
8 |
9 | # override GOCACHE=off from fabric-baseimage
10 | ENV GOCACHE "/tmp"
11 |
--------------------------------------------------------------------------------
/images/ccenv/Dockerfile.in:
--------------------------------------------------------------------------------
1 | # Copyright Greg Haskins All Rights Reserved
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | FROM _BASE_NS_/fabric-baseimage:_BASE_TAG_
6 | COPY payload/chaintool payload/protoc-gen-go /usr/local/bin/
7 | ADD payload/goshim.tar.bz2 $GOPATH/src/
8 | RUN mkdir -p /chaincode/input /chaincode/output
9 |
--------------------------------------------------------------------------------
/images/orderer/Dockerfile.in:
--------------------------------------------------------------------------------
1 | # Copyright Greg Haskins All Rights Reserved
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | FROM _BASE_NS_/fabric-baseos:_BASE_TAG_
6 | ENV FABRIC_CFG_PATH /etc/hyperledger/fabric
7 | RUN mkdir -p /var/hyperledger/production $FABRIC_CFG_PATH
8 | COPY payload/orderer /usr/local/bin
9 | ADD payload/sampleconfig.tar.bz2 $FABRIC_CFG_PATH/
10 | EXPOSE 7050
11 | CMD ["orderer"]
12 |
--------------------------------------------------------------------------------
/images/peer/Dockerfile.in:
--------------------------------------------------------------------------------
1 | # Copyright Greg Haskins All Rights Reserved
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | FROM _BASE_NS_/fabric-baseos:_BASE_TAG_
6 | ENV FABRIC_CFG_PATH /etc/hyperledger/fabric
7 | RUN mkdir -p /var/hyperledger/production $FABRIC_CFG_PATH
8 | COPY payload/peer /usr/local/bin
9 | ADD payload/sampleconfig.tar.bz2 $FABRIC_CFG_PATH
10 | CMD ["peer","node","start"]
11 |
--------------------------------------------------------------------------------
/integration/chaincode/keylevelep/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 | "os"
21 |
22 | "github.com/hyperledger/fabric/core/chaincode/shim"
23 | "github.com/hyperledger/fabric/integration/chaincode/keylevelep"
24 | )
25 |
26 | func main() {
27 | err := shim.Start(&keylevelep.EndorsementCC{})
28 | if err != nil {
29 | fmt.Fprintf(os.Stderr, "Exiting SBE chaincode: %s", err)
30 | os.Exit(2)
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/integration/chaincode/marbles_private/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 | "os"
21 |
22 | "github.com/hyperledger/fabric/core/chaincode/shim"
23 | "github.com/hyperledger/fabric/integration/chaincode/marbles_private"
24 | )
25 |
26 | func main() {
27 | err := shim.Start(&marbles_private.MarblesPrivateChaincode{})
28 | if err != nil {
29 | fmt.Fprintf(os.Stderr, "Exiting Simple chaincode: %s", err)
30 | os.Exit(2)
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/integration/chaincode/simple/cmd/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package main
17 |
18 | import (
19 | "fmt"
20 | "os"
21 |
22 | "github.com/hyperledger/fabric/core/chaincode/shim"
23 | "github.com/hyperledger/fabric/integration/chaincode/simple"
24 | )
25 |
26 | func main() {
27 | err := shim.Start(&simple.SimpleChaincode{})
28 | if err != nil {
29 | fmt.Fprintf(os.Stderr, "Exiting Simple chaincode: %s", err)
30 | os.Exit(2)
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/integration/discovery/testdata/collections_config1.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
5 | "requiredPeerCount": 1,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000
8 | }
9 | ]
10 |
--------------------------------------------------------------------------------
/integration/nwo/commands/cryptogen.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package commands
17 |
18 | type Generate struct {
19 | Config string
20 | Output string
21 | }
22 |
23 | func (c Generate) SessionName() string {
24 | return "cryptogen-generate"
25 | }
26 |
27 | func (c Generate) Args() []string {
28 | return []string{
29 | "generate",
30 | "--config", c.Config,
31 | "--output", c.Output,
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/integration/pvtdata/testdata/collection_configs/collections_config1.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
5 | "requiredPeerCount": 1,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000,
8 | "memberOnlyRead": false
9 | },
10 | {
11 | "name": "collectionMarblePrivateDetails",
12 | "policy": "OR('Org2MSP.member', 'Org3MSP.member')",
13 | "requiredPeerCount": 1,
14 | "maxPeerCount": 2,
15 | "blockToLive":1000000,
16 | "memberOnlyRead": false
17 | }
18 | ]
19 |
--------------------------------------------------------------------------------
/integration/pvtdata/testdata/collection_configs/collections_config2.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member', 'Org3MSP.member')",
5 | "requiredPeerCount": 1,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000,
8 | "memberOnlyRead": false
9 | },
10 | {
11 | "name": "collectionMarblePrivateDetails",
12 | "policy": "OR('Org2MSP.member', 'Org3MSP.member')",
13 | "requiredPeerCount": 1,
14 | "maxPeerCount": 2,
15 | "blockToLive":1000000,
16 | "memberOnlyRead": false
17 | }
18 | ]
19 |
--------------------------------------------------------------------------------
/integration/pvtdata/testdata/collection_configs/collections_config3.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
5 | "requiredPeerCount": 1,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000
8 | },
9 | {
10 | "name": "collectionMarblePrivateDetails",
11 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
12 | "requiredPeerCount": 1,
13 | "maxPeerCount": 2,
14 | "blockToLive":1000000
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/integration/pvtdata/testdata/collection_configs/collections_config4.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
5 | "requiredPeerCount": 1,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000,
8 | "memberOnlyRead": true
9 | },
10 | {
11 | "name": "collectionMarblePrivateDetails",
12 | "policy": "OR('Org2MSP.member', 'Org3MSP.member')",
13 | "requiredPeerCount": 1,
14 | "maxPeerCount": 2,
15 | "blockToLive":1000000,
16 | "memberOnlyRead": true
17 | }
18 | ]
19 |
--------------------------------------------------------------------------------
/integration/pvtdata/testdata/collection_configs/short_btl_config.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "collectionMarbles",
4 | "policy": "OR('Org1MSP.member', 'Org2MSP.member')",
5 | "requiredPeerCount": 0,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000
8 | },
9 | {
10 | "name": "collectionMarblePrivateDetails",
11 | "policy": "OR('Org2MSP.member', 'Org3MSP.member')",
12 | "requiredPeerCount": 1,
13 | "maxPeerCount": 2,
14 | "blockToLive":3
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/integration/runner/defaults.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package runner
17 |
18 | import (
19 | "time"
20 |
21 | "github.com/hyperledger/fabric/integration/helpers"
22 | )
23 |
24 | const DefaultStartTimeout = 30 * time.Second
25 |
26 | //defaultnamer是默认的命名函数。
27 | var DefaultNamer NameFunc = helpers.UniqueName
28 |
29 | //namefunc用于生成容器名称。
30 | type NameFunc func() string
31 |
--------------------------------------------------------------------------------
/integration/sbe/testdata/collection_config.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "col",
4 | "policy": "OR('Org1MSP.peer', 'Org2MSP.peer')",
5 | "requiredPeerCount": 2,
6 | "maxPeerCount": 2,
7 | "blockToLive":1000000
8 | }
9 | ]
10 |
--------------------------------------------------------------------------------
/msp/testdata/badadmin/cacerts/cacert-COP.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBrTCCAVKgAwIBAgIJAK8/QQKPJc5dMAoGCCqGSM49BAMCMCkxDDAKBgNVBAoM
3 | A0NPUDEMMAoGA1UECwwDQ09QMQswCQYDVQQDDAJDQTAeFw0xNzA2MjAwOTA5NDBa
4 | Fw0zNzA2MTUwOTA5NDBaMCkxDDAKBgNVBAoMA0NPUDEMMAoGA1UECwwDQ09QMQsw
5 | CQYDVQQDDAJDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLVK0PcjQjZ/pUsW
6 | Y7NHYJSHaPrc7qY/NK9xfLZogZi1axlOz55k6xQH2LIUILffmzXMm3h391Bim3b9
7 | rPdsvjqjYzBhMB0GA1UdDgQWBBQF5TG4S2XkK6XVtSUW63ppNTN2dTAfBgNVHSME
8 | GDAWgBQF5TG4S2XkK6XVtSUW63ppNTN2dTAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
9 | DwEB/wQEAwIBhjAKBggqhkjOPQQDAgNJADBGAiEAwhPOEE7bfSlDd0WglM1dNHTY
10 | hU2p/Lx0mgPha/5HW0UCIQCp6q+qL/OEP+mUms6C9nnMSu2eVDZQQ2MJgRNBVHjC
11 | cw==
12 | -----END CERTIFICATE-----
13 |
--------------------------------------------------------------------------------
/msp/testdata/badadmin/cacerts/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBrTCCAVKgAwIBAgIJAK8/QQKPJc5dMAoGCCqGSM49BAMCMCkxDDAKBgNVBAoM
3 | A0NPUDEMMAoGA1UECwwDQ09QMQswCQYDVQQDDAJDQTAeFw0xNzA2MjAwOTA5NDBa
4 | Fw0zNzA2MTUwOTA5NDBaMCkxDDAKBgNVBAoMA0NPUDEMMAoGA1UECwwDQ09QMQsw
5 | CQYDVQQDDAJDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLVK0PcjQjZ/pUsW
6 | Y7NHYJSHaPrc7qY/NK9xfLZogZi1axlOz55k6xQH2LIUILffmzXMm3h391Bim3b9
7 | rPdsvjqjYzBhMB0GA1UdDgQWBBQF5TG4S2XkK6XVtSUW63ppNTN2dTAfBgNVHSME
8 | GDAWgBQF5TG4S2XkK6XVtSUW63ppNTN2dTAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
9 | DwEB/wQEAwIBhjAKBggqhkjOPQQDAgNJADBGAiEAwhPOEE7bfSlDd0WglM1dNHTY
10 | hU2p/Lx0mgPha/5HW0UCIQCp6q+qL/OEP+mUms6C9nnMSu2eVDZQQ2MJgRNBVHjC
11 | cw==
12 | -----END CERTIFICATE-----
13 |
--------------------------------------------------------------------------------
/msp/testdata/badadmin/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrganizationalUnitIdentifiers:
7 | - Certificate: "cacerts/cacert.pem"
8 | OrganizationalUnitIdentifier: "COP1"
9 |
--------------------------------------------------------------------------------
/msp/testdata/badadmin/keystore/key-COP1.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIAGR4/FR6CVRgwG4gqim4CKKd5NH+CbDSQdd9YD5zqVJoAoGCCqGSM49
3 | AwEHoUQDQgAEdo7+VaZWVMdsaVhxHEqIzd+rhpi6ZdIo9rN4ZVgeF8TX2bbSkk6C
4 | IdKpJPjR1jYpjvOxKVtF1UruKxvzpFbPQw==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/badconfigou/cacerts/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIBrTCCAVKgAwIBAgIJAK8/QQKPJc5dMAoGCCqGSM49BAMCMCkxDDAKBgNVBAoM
3 | A0NPUDEMMAoGA1UECwwDQ09QMQswCQYDVQQDDAJDQTAeFw0xNzA2MjAwOTA5NDBa
4 | Fw0zNzA2MTUwOTA5NDBaMCkxDDAKBgNVBAoMA0NPUDEMMAoGA1UECwwDQ09QMQsw
5 | CQYDVQQDDAJDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLVK0PcjQjZ/pUsW
6 | Y7NHYJSHaPrc7qY/NK9xfLZogZi1axlOz55k6xQH2LIUILffmzXMm3h391Bim3b9
7 | rPdsvjqjYzBhMB0GA1UdDgQWBBQF5TG4S2XkK6XVtSUW63ppNTN2dTAfBgNVHSME
8 | GDAWgBQF5TG4S2XkK6XVtSUW63ppNTN2dTAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
9 | DwEB/wQEAwIBhjAKBggqhkjOPQQDAgNJADBGAiEAwhPOEE7bfSlDd0WglM1dNHTY
10 | hU2p/Lx0mgPha/5HW0UCIQCp6q+qL/OEP+mUms6C9nnMSu2eVDZQQ2MJgRNBVHjC
11 | cw==
12 | -----END CERTIFICATE-----
13 |
--------------------------------------------------------------------------------
/msp/testdata/badconfigou/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrganizationalUnitIdentifiers:
7 | - Certificate: "cacerts/cacert.pem"
8 | OrganizationalUnitIdentifier: "COP1"
9 |
--------------------------------------------------------------------------------
/msp/testdata/badconfigou/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIAu4YO8nk0V76CpJLoAZlqXhUE3dpDnQgOkkKkhcUu4FoAoGCCqGSM49
3 | AwEHoUQDQgAED1djgCwdEwB+sKm2zCbTUFTd6PNkg4IzzVsgpJXIHIILgI1FQf4K
4 | mLbwjeG93ToqWqjHl6/XBIY2nL9JNZ8kcg==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/badconfigoucert/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrganizationalUnitIdentifiers:
7 | - Certificate: "signcerts/peer.pem"
8 | OrganizationalUnitIdentifier: "COP"
--------------------------------------------------------------------------------
/msp/testdata/badconfigoucert/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXa3mln4anewXtqrM
3 | hMw6mfZhslkRa/j9P790ToKjlsihRANCAARnxLhXvU4EmnIwhVl3Bh0VcByQi2um
4 | 9KsJ/QdCDjRZb1dKg447voj5SZ8SSZOUglc/v8DJFFJFTfygjwi+27gz
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/expiration/keystore/83c4189d96988eab469b1afa1dfbcb4463a1fff381d7dba9b9378b51a5ef9e77_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXxOy/nD/twU+d4DL
3 | veUvrzae6jsrmT4vBnZR0cHkjKehRANCAARO3xeuSrBdJ8TYCARVQNsf0FNC7gMr
4 | k7EWklnP8nEALi0HwrYuW2KeFlmkFHObAWigJlWxUE5vUYZjobSM+zy+
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/expired/keystore/key-expired.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGgZG6oswVqgm9X+t
3 | XqkRmdozFoJlWIXL0h8FzWcVAAWhRANCAARkSsbJejBqzRIMo+/HNblQ4EdJah77
4 | n4wUv4ZTGzqpBfX/qI9R369qAEGDII+ocInj8c100cpPjW6KoFYHHLLb
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/external/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright London Stock Exchange Group All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | OrganizationalUnitIdentifiers:
6 | - Certificate: "intermediatecerts/intermediatecert.pem"
7 | OrganizationalUnitIdentifier: "Hyperledger Testing"
8 |
--------------------------------------------------------------------------------
/msp/testdata/external/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHACRdTlDyxk3FDWv2ysl6OnwX5KEKS7TiCOUOGkgq70oAoGCCqGSM49
3 | AwEHoUQDQgAEo3MuMHJxWMv4JPi4UXaQ4WU1YJVdiuzOJ3l6mJ/+KXQYCoLV2Fxl
4 | VuEuf4Qa6t5+gn0wGEflQc8ZOpEs0gq1kA==
5 | -----END EC PRIVATE KEY-----
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/ca/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1/ca/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/ca/IssuerSecretKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1/ca/IssuerSecretKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/ca/RevocationKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGkAgEBBDCDLOqcM8tliQ1ugel+S1W+6iotv3eNmbLa+MZPuyZNVVum3fhXFsrp
3 | sA223vnx+AigBwYFK4EEACKhZANiAATvpQTnSffVMHfgTe0QeL2/JotcQkinEXpS
4 | vV5YpEilns/KLnl8eD3eczaQrCCVtfostEiXSfMwuGC/AmkiVWH5EQzrdw2P0PTz
5 | Q5o3wd60tEbsemPuKlHdDhWNnTHbZkI=
6 | -----END PRIVATE KEY-----
7 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/msp/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1/msp/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/msp/RevocationPublicKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE76UE50n31TB34E3tEHi9vyaLXEJIpxF6
3 | Ur1eWKRIpZ7Pyi55fHg93nM2kKwglbX6LLRIl0nzMLhgvwJpIlVh+REM63cNj9D0
4 | 80OaN8HetLRG7Hpj7ipR3Q4VjZ0x22ZC
5 | -----END PUBLIC KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1/user/SignerConfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1/user/SignerConfig
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/ca/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1Admin/ca/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/ca/IssuerSecretKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1Admin/ca/IssuerSecretKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/ca/RevocationKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGkAgEBBDCDLOqcM8tliQ1ugel+S1W+6iotv3eNmbLa+MZPuyZNVVum3fhXFsrp
3 | sA223vnx+AigBwYFK4EEACKhZANiAATvpQTnSffVMHfgTe0QeL2/JotcQkinEXpS
4 | vV5YpEilns/KLnl8eD3eczaQrCCVtfostEiXSfMwuGC/AmkiVWH5EQzrdw2P0PTz
5 | Q5o3wd60tEbsemPuKlHdDhWNnTHbZkI=
6 | -----END PRIVATE KEY-----
7 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/msp/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1Admin/msp/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/msp/RevocationPublicKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE76UE50n31TB34E3tEHi9vyaLXEJIpxF6
3 | Ur1eWKRIpZ7Pyi55fHg93nM2kKwglbX6LLRIl0nzMLhgvwJpIlVh+REM63cNj9D0
4 | 80OaN8HetLRG7Hpj7ipR3Q4VjZ0x22ZC
5 | -----END PUBLIC KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU1Admin/user/SignerConfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU1Admin/user/SignerConfig
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/ca/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU2/ca/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/ca/IssuerSecretKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU2/ca/IssuerSecretKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/ca/RevocationKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGkAgEBBDCDLOqcM8tliQ1ugel+S1W+6iotv3eNmbLa+MZPuyZNVVum3fhXFsrp
3 | sA223vnx+AigBwYFK4EEACKhZANiAATvpQTnSffVMHfgTe0QeL2/JotcQkinEXpS
4 | vV5YpEilns/KLnl8eD3eczaQrCCVtfostEiXSfMwuGC/AmkiVWH5EQzrdw2P0PTz
5 | Q5o3wd60tEbsemPuKlHdDhWNnTHbZkI=
6 | -----END PRIVATE KEY-----
7 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/msp/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU2/msp/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/msp/RevocationPublicKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE76UE50n31TB34E3tEHi9vyaLXEJIpxF6
3 | Ur1eWKRIpZ7Pyi55fHg93nM2kKwglbX6LLRIl0nzMLhgvwJpIlVh+REM63cNj9D0
4 | 80OaN8HetLRG7Hpj7ipR3Q4VjZ0x22ZC
5 | -----END PUBLIC KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1OU2/user/SignerConfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1OU2/user/SignerConfig
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1Verifier/ca/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1Verifier/ca/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1Verifier/ca/IssuerSecretKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1Verifier/ca/IssuerSecretKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1Verifier/ca/RevocationKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGkAgEBBDCDLOqcM8tliQ1ugel+S1W+6iotv3eNmbLa+MZPuyZNVVum3fhXFsrp
3 | sA223vnx+AigBwYFK4EEACKhZANiAATvpQTnSffVMHfgTe0QeL2/JotcQkinEXpS
4 | vV5YpEilns/KLnl8eD3eczaQrCCVtfostEiXSfMwuGC/AmkiVWH5EQzrdw2P0PTz
5 | Q5o3wd60tEbsemPuKlHdDhWNnTHbZkI=
6 | -----END PRIVATE KEY-----
7 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1Verifier/msp/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP1Verifier/msp/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP1Verifier/msp/RevocationPublicKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE76UE50n31TB34E3tEHi9vyaLXEJIpxF6
3 | Ur1eWKRIpZ7Pyi55fHg93nM2kKwglbX6LLRIl0nzMLhgvwJpIlVh+REM63cNj9D0
4 | 80OaN8HetLRG7Hpj7ipR3Q4VjZ0x22ZC
5 | -----END PUBLIC KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/ca/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP2OU1/ca/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/ca/IssuerSecretKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP2OU1/ca/IssuerSecretKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/ca/RevocationKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGkAgEBBDACDZ/H28Lz9ZkRt9DPS0S2St6myYr0yOXUBh6jXnL6Xd6KtxG9Gvbx
3 | izkRk9WPY0qgBwYFK4EEACKhZANiAAShz6e2n4kjEI/AmkIciyGlVXlrcupnNjSN
4 | 3wgtr7WvvtmhmrMSxNRNa+wAuaHKcLwUlRvf/S6xswzdFaWkSOv7b0XQrlpTPZkb
5 | Y7l14ajp4H3Le6dw4D8Wj6PLgDA6EXc=
6 | -----END PRIVATE KEY-----
7 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/msp/IssuerPublicKey:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP2OU1/msp/IssuerPublicKey
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/msp/RevocationPublicKey:
--------------------------------------------------------------------------------
1 | -----BEGIN PUBLIC KEY-----
2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoc+ntp+JIxCPwJpCHIshpVV5a3LqZzY0
3 | jd8ILa+1r77ZoZqzEsTUTWvsALmhynC8FJUb3/0usbMM3RWlpEjr+29F0K5aUz2Z
4 | G2O5deGo6eB9y3uncOA/Fo+jy4AwOhF3
5 | -----END PUBLIC KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/idemix/MSP2OU1/user/SignerConfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/msp/testdata/idemix/MSP2OU1/user/SignerConfig
--------------------------------------------------------------------------------
/msp/testdata/intermediate/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgTNlF7jY6jBKQGLqs
3 | AgllL7utSIRxZdxy4fexQaNX7JKhRANCAAT3WqE6zy7kgdDbN4Ecv+1ITEjFnOpJ
4 | 52oi5lrBfXhFt+F12qLqSuYs0EqJL0VvbtKZMkdXAkgQB26ifAAvqtTn
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/intermediate2/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgTNlF7jY6jBKQGLqs
3 | AgllL7utSIRxZdxy4fexQaNX7JKhRANCAAT3WqE6zy7kgdDbN4Ecv+1ITEjFnOpJ
4 | 52oi5lrBfXhFt+F12qLqSuYs0EqJL0VvbtKZMkdXAkgQB26ifAAvqtTn
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/mspid/keystore/7c73fd300a90b41c79ace8ee5553e1f3ba12b141892d966617731380189d3f4e_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgyA3kupzpQJ5OKG2+
3 | dVb3d01tHlqO0rlDcrkxXa3a5ZqhRANCAAT87AUnSCAdBqypilp9DfJjH8VrNrNQ
4 | +ivsb071Sd8FI985zQcY/pNo9raT7iVBMbetbCm6T9xhff3KxGoaV10W
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous1/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrganizationalUnitIdentifiers:
7 | - Certificate: "cacerts/cacert.pem"
8 | OrganizationalUnitIdentifier: "COP"
9 |
10 | NodeOUs:
11 | Enable: true
12 | ClientOUIdentifier:
13 | OrganizationalUnitIdentifier: "OU_client"
14 | PeerOUIdentifier:
15 | OrganizationalUnitIdentifier: "OU_peer"
16 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous1/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXa3mln4anewXtqrM
3 | hMw6mfZhslkRa/j9P790ToKjlsihRANCAARnxLhXvU4EmnIwhVl3Bh0VcByQi2um
4 | 9KsJ/QdCDjRZb1dKg447voj5SZ8SSZOUglc/v8DJFFJFTfygjwi+27gz
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous2/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | NodeOUs:
6 | Enable: true
7 | ClientOUIdentifier:
8 | OrganizationalUnitIdentifier: "OU_client"
9 | PeerOUIdentifier:
10 | OrganizationalUnitIdentifier: "OU_peer"
11 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous2/keystore/21779908bb40b2996d730685a5df60c62f05e02356930cd74b0d6acc49a1eafc_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguOFy8l0P+bo6kZ8u
3 | Ifg/ZZVqQ7PBuMDluuWvQKbp9/ChRANCAAS3PGmLJ4CMAXKEEnegPCgyJCtttQ1x
4 | L+dQHS5uF4lqSPVEhvUPBymrCQZJw70osW7HkoO5tu/xH9JIqaQp61dA
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous2/keystore/f8c30e5fad3f1af5f080a87c23ce37e40e6d4ac30019e31ca2c6e7c6bffa26c8_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiuQrD8AWn0d30+Wy
3 | iX5OTi7NEDyV6mxRuRh283G9+DChRANCAATRSQdoQmIHhrT3Fo0yJ3qNCNbjzoyx
4 | mRFg02q8My+MRYRjCTtgiyv3Ps3uDdgyPyFvjuDnWJFlGMmReRkGmXJK
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous3/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | NodeOUs:
6 | Enable: true
7 | ClientOUIdentifier:
8 | OrganizationalUnitIdentifier: "OU_client"
9 | PeerOUIdentifier:
10 | OrganizationalUnitIdentifier: "OU_peer"
11 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous3/keystore/212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguubk0m2KiJacIUKi
3 | V+5eflZU0yZsobTeSZM4S8rMp+GhRANCAASMnS0d3NjE/xlShCyWG163UZpkvJde
4 | elNV4r8F0EdDfXMqFePMsvPE56Jaa8o6dga5xIxVUx+Z+lYDMo1gwvPC
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous3/keystore/d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeb9wr9oJ7G9j0CJ7
3 | 0FEYJfJ2Fm/ZRQTjapi9bRH1Z66hRANCAASJvfkAT/mLwdCRkE0Ppg2yJk3dhZ6L
4 | NWNcWlYvC1HfoAa0gyGYiX0J82JspUE24/FK8zMPq9+h6ZnPHJ6zMxCd
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous4/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | NodeOUs:
6 | Enable: true
7 | ClientOUIdentifier:
8 | Certificate: "cacerts/external_ca.pem"
9 | OrganizationalUnitIdentifier: "OU_client"
10 | PeerOUIdentifier:
11 | Certificate: "cacerts/cacert.pem"
12 | OrganizationalUnitIdentifier: "OU_peer"
13 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous4/keystore/212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguubk0m2KiJacIUKi
3 | V+5eflZU0yZsobTeSZM4S8rMp+GhRANCAASMnS0d3NjE/xlShCyWG163UZpkvJde
4 | elNV4r8F0EdDfXMqFePMsvPE56Jaa8o6dga5xIxVUx+Z+lYDMo1gwvPC
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous4/keystore/d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeb9wr9oJ7G9j0CJ7
3 | 0FEYJfJ2Fm/ZRQTjapi9bRH1Z66hRANCAASJvfkAT/mLwdCRkE0Ppg2yJk3dhZ6L
4 | NWNcWlYvC1HfoAa0gyGYiX0J82JspUE24/FK8zMPq9+h6ZnPHJ6zMxCd
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous5/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | NodeOUs:
6 | Enable: true
7 | ClientOUIdentifier:
8 | OrganizationalUnitIdentifier: "OU_client"
9 | PeerOUIdentifier:
10 | OrganizationalUnitIdentifier: "OU_peer"
11 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous5/keystore/012ba73f50e24826785f48d1e60dcb972cfc2c5df7c41cdc0ecbbd52b02ca248_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgtB2spI0XSZlUFpFr
3 | oKarKXD+XrE8qYatbwivuiEbznuhRANCAARQ0e5cIZjSKwVNq2ua/hFezvYgsqBY
4 | eRHKo+ooUEaI9Gni/7m9NHfy5BP/8jizmpAw0B2DP9U2oOSskHnEH6oz
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous5/keystore/47e79b836df4b16212176f607b37d95f97ecfdcdc658b7e6eaeab251251a01aa_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg7Sbw+MrH0R4iw1Ly
3 | omN3QyKoj30iWP0mssxCvVe9mdChRANCAASgkPNAlBuRv9/LHbwExyFAXc3KT2DF
4 | c1aRgawkqctuhj1NIiFUdoPtjpBR3as67Dh3Z9yY6chTs6LFz2DOSU6+
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous6/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | OrganizationalUnitIdentifiers:
6 | - Certificate: "cacerts/cacert.pem"
7 | OrganizationalUnitIdentifier: "OU_client"
8 | - Certificate: "cacerts/cacert.pem"
9 | OrganizationalUnitIdentifier: "OU_peer"
10 |
11 | NodeOUs:
12 | Enable: true
13 | ClientOUIdentifier:
14 | OrganizationalUnitIdentifier: "OU_client"
15 | PeerOUIdentifier:
16 | OrganizationalUnitIdentifier: "OU_peer"
17 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous6/keystore/212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguubk0m2KiJacIUKi
3 | V+5eflZU0yZsobTeSZM4S8rMp+GhRANCAASMnS0d3NjE/xlShCyWG163UZpkvJde
4 | elNV4r8F0EdDfXMqFePMsvPE56Jaa8o6dga5xIxVUx+Z+lYDMo1gwvPC
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous6/keystore/d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeb9wr9oJ7G9j0CJ7
3 | 0FEYJfJ2Fm/ZRQTjapi9bRH1Z66hRANCAASJvfkAT/mLwdCRkE0Ppg2yJk3dhZ6L
4 | NWNcWlYvC1HfoAa0gyGYiX0J82JspUE24/FK8zMPq9+h6ZnPHJ6zMxCd
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous7/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | OrganizationalUnitIdentifiers:
6 | - Certificate: "cacerts/cacert.pem"
7 | OrganizationalUnitIdentifier: "OU_common"
8 |
9 | NodeOUs:
10 | Enable: true
11 | ClientOUIdentifier:
12 | OrganizationalUnitIdentifier: "OU_client"
13 | PeerOUIdentifier:
14 | OrganizationalUnitIdentifier: "OU_peer"
15 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous7/keystore/212d57370dd1e4bacc414d0070121197d6c34b694dec33242bb3ffc4ef13e23b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQguubk0m2KiJacIUKi
3 | V+5eflZU0yZsobTeSZM4S8rMp+GhRANCAASMnS0d3NjE/xlShCyWG163UZpkvJde
4 | elNV4r8F0EdDfXMqFePMsvPE56Jaa8o6dga5xIxVUx+Z+lYDMo1gwvPC
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous7/keystore/d51e8e0ea19acbc3090a82bd0ae36db670a368512dbd1a20e58089113a20e24b_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgeb9wr9oJ7G9j0CJ7
3 | 0FEYJfJ2Fm/ZRQTjapi9bRH1Z66hRANCAASJvfkAT/mLwdCRkE0Ppg2yJk3dhZ6L
4 | NWNcWlYvC1HfoAa0gyGYiX0J82JspUE24/FK8zMPq9+h6ZnPHJ6zMxCd
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous8/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | NodeOUs:
6 | Enable: true
7 | ClientOUIdentifier:
8 | Certificate: "cacerts/external_ca.pem"
9 | OrganizationalUnitIdentifier: "OU_client"
10 | PeerOUIdentifier:
11 | Certificate: "cacerts/cacert.pem"
12 | OrganizationalUnitIdentifier: "OU_peer"
13 |
--------------------------------------------------------------------------------
/msp/testdata/nodeous8/keystore/f3a673451e3bf0f74b4fd7b24f6dbfd8d795c2173d11d255b6a4f4ad3cd23046_sk:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/8r4HVXlpB+CUmYY
3 | UlNb7OcNrQQ/1LAbA3iTA4rCDEmhRANCAARYlXb/h8Qc4jUhOSKAlq0CfCiweYkX
4 | FBuPRYYapzTN1yy7Wje0Rlt/ufSFufqMlX1f8+0iOSpkaLSj9YJml0Hi
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/revocation/crls/crl.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN X509 CRL-----
2 | MIIBNTCB3AIBATAKBggqhkjOPQQDAjBXMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
3 | Q2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEOMAwGA1UEChMFcm9v
4 | dDIxCzAJBgNVBAMTAmNhFw0xNzEyMjExNzExNTRaFw0yNzEyMTkxNzExNTRaMCMw
5 | IQIQaiOerd7fYdLv3WOe3G7maRcNMTcxMjIxMTcxMTU0WqAvMC0wKwYDVR0jBCQw
6 | IoAgXQu9qpyvtmox2hOtTuxMDMUyYKoJu3r8ftlgn2TH8TowCgYIKoZIzj0EAwID
7 | SAAwRQIhAOZOMOJps28IhWbg4HBibE2ft5S4pChxVT9AXFOVE0WCAiB/NFueHuNi
8 | h+VjDOTEo7xzWdCWfGLDcDBfiofROn+1AQ==
9 | -----END X509 CRL-----
10 |
--------------------------------------------------------------------------------
/msp/testdata/revocation/keystore/key-admin.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg+EhTHkULTfQ6JEeN
3 | ZeI+e955YBpE7tkJera94TMc8j+hRANCAASZLwRAf9F56KOna4rJAAa6XxQJat3y
4 | lrdw/XO+snCn4YLyHGczP87rX4A/r9Hx6TV7ZP/5rpjtSz8RDFXL6UN1
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/revocation/keystore/key-revoked.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgEExeh2BgtWDBiFzX
3 | FtvW/6BldCVvU5RhAHSZj8VX4e+hRANCAATkCUK/7PBlDVY6IyYVdLIJaHjz5Bx3
4 | mTMwySYwUsDYU0zD0btx0EBAKjTMDiLqkC5dllaxrU4gzHxr5hy99+zj
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/revocation2/crls/crl.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN X509 CRL-----
2 | MIIBYzCCAQgCAQEwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxEzARBgNVBAgT
3 | CkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xHzAdBgNVBAoTFklu
4 | dGVybmV0IFdpZGdldHMsIEluYy4xDDAKBgNVBAsTA1dXVzEUMBIGA1UEAxMLZXhh
5 | bXBsZS5jb20XDTE3MDEyMzIwNTYyMFoXDTE3MDEyNjIwNTYyMFowJzAlAhQERXCx
6 | LHROap1vM3CV40EHOghPTBcNMTcwMTIzMjA0NzMxWqAvMC0wHwYDVR0jBBgwFoAU
7 | F2dCPaqegj/ExR2fW8OZ0bWcSBAwCgYDVR0UBAMCAQgwCgYIKoZIzj0EAwIDSQAw
8 | RgIhAOTTpQYkAO+gwVe1LQOcNMD5fzFViOwBUraMrk6dRMlmAiEA8z2dpXKGwHrj
9 | FRBbKkDnSpaVcZgjns+mLdHV2JkF0gk=
10 | -----END X509 CRL-----
11 |
--------------------------------------------------------------------------------
/msp/testdata/revocation2/keystore/key-admin.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg+EhTHkULTfQ6JEeN
3 | ZeI+e955YBpE7tkJera94TMc8j+hRANCAASZLwRAf9F56KOna4rJAAa6XxQJat3y
4 | lrdw/XO+snCn4YLyHGczP87rX4A/r9Hx6TV7ZP/5rpjtSz8RDFXL6UN1
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/revocation2/keystore/key-revoked.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgEExeh2BgtWDBiFzX
3 | FtvW/6BldCVvU5RhAHSZj8VX4e+hRANCAATkCUK/7PBlDVY6IyYVdLIJaHjz5Bx3
4 | mTMwySYwUsDYU0zD0btx0EBAKjTMDiLqkC5dllaxrU4gzHxr5hy99+zj
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/revokedica/crls/crl.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN X509 CRL-----
2 | MIIBMzCB2gIBATAKBggqhkjOPQQDAjBVMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
3 | Q2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEMMAoGA1UEChMDb3Jn
4 | MQswCQYDVQQDEwJjYRcNMTcwNTExMDc0NjA3WhcNMjcwNTA5MDc0NjA3WjAjMCEC
5 | EEzQohO1frOTEWQE+9Ws8nsXDTE3MDUxMTA3NDYwN1qgLzAtMCsGA1UdIwQkMCKA
6 | ILOKM0SqRHTIKzbZMATaI82czZcZ4GkiMqnsbrmdNVPZMAoGCCqGSM49BAMCA0gA
7 | MEUCIQCz/DcyUVInAUW3D/+618a/UovNdXT7guOhjMCx8nGufAIgbtoVSX6VnMc/
8 | 7ZQ6p4XhR0XMZxxD0oIKNSuqtGsEkEo=
9 | -----END X509 CRL-----
10 |
--------------------------------------------------------------------------------
/msp/testdata/revokedica/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgYV78DPlUOeRDAsOl
3 | VfZMheUFtsloDxt2jMQ2pEKHG9GhRANCAASeSmDdDmjMnbl8NbeVNO6Vdvb7EgK2
4 | uG5RUBz8vsdizGP5FcZGkA21BgLkgjj9MHHqlL1xJBMS+VItLhnDSuLe
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/msp/testdata/tls/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright London Stock Exchange Group All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | OrganizationalUnitIdentifiers:
6 | - Certificate: "intermediatecerts/intermediatecert.pem"
7 | OrganizationalUnitIdentifier: "Hyperledger Testing"
8 |
--------------------------------------------------------------------------------
/msp/testdata/tls/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIHACRdTlDyxk3FDWv2ysl6OnwX5KEKS7TiCOUOGkgq70oAoGCCqGSM49
3 | AwEHoUQDQgAEo3MuMHJxWMv4JPi4UXaQ4WU1YJVdiuzOJ3l6mJ/+KXQYCoLV2Fxl
4 | VuEuf4Qa6t5+gn0wGEflQc8ZOpEs0gq1kA==
5 | -----END EC PRIVATE KEY-----
--------------------------------------------------------------------------------
/orderer/common/cluster/testdata/block3.pb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/orderer/common/cluster/testdata/block3.pb
--------------------------------------------------------------------------------
/orderer/common/cluster/testdata/mychannel.block:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/orderer/common/cluster/testdata/mychannel.block
--------------------------------------------------------------------------------
/orderer/common/cluster/testdata/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgP0K7Hf7I6XoXLHif
3 | lSTYSUjqLUiYN5jBvJ4F0W52+XmhRANCAATRG9wa4psc4NGylfnc2NRs+9RkY+1F
4 | pz+b0sV66mthHKa1LqSvjJbvh36t7pttIbdHa7gEUp9LcoSPrzutu8Ea
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/orderer/common/server/signals.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建设!窗户
10 |
11 | /*
12 | 版权所有IBM公司。保留所有权利。
13 |
14 | SPDX许可证标识符:Apache-2.0
15 | **/
16 |
17 |
18 | package server
19 |
20 | import (
21 | "os"
22 | "syscall"
23 |
24 | "github.com/hyperledger/fabric/common/diag"
25 | )
26 |
27 | func addPlatformSignals(sigs map[os.Signal]func()) map[os.Signal]func() {
28 | sigs[syscall.SIGUSR1] = func() { diag.LogGoRoutines(logger.Named("diag")) }
29 | return sigs
30 | }
31 |
--------------------------------------------------------------------------------
/orderer/common/server/signals_windows.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+构建窗口
10 |
11 | /*
12 | 版权所有IBM公司。保留所有权利。
13 |
14 | SPDX许可证标识符:Apache-2.0
15 | **/
16 |
17 |
18 | package server
19 |
20 | import (
21 | "os"
22 | )
23 |
24 | func addPlatformSignals(sigs map[os.Signal]func()) map[os.Signal]func() {
25 | return sigs
26 | }
27 |
--------------------------------------------------------------------------------
/orderer/common/server/testdata/genesis.block:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/orderer/common/server/testdata/genesis.block
--------------------------------------------------------------------------------
/orderer/common/server/testdata/tls/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgHg2V/8BCgZCwQIOd
3 | bWv+gLI1APkdEqzAoGjI/1OTC1WhRANCAASS2UdIW3vhoska9TkcYLRIgwXAsyln
4 | oAxZGVt15dP3W5OcutD0hSIktH2/bF6BMyDlVzdCIRBOgHkmfMJRBhGF
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/orderer/consensus/etcdraft/etcdraft_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package etcdraft_test
16 |
17 | import (
18 | "testing"
19 |
20 | . "github.com/onsi/ginkgo"
21 | . "github.com/onsi/gomega"
22 | )
23 |
24 | var testingInstance *testing.T
25 |
26 | func TestEtcdraft(t *testing.T) {
27 | testingInstance = t
28 | RegisterFailHandler(Fail)
29 | RunSpecs(t, "Etcdraft Suite")
30 | }
31 |
--------------------------------------------------------------------------------
/orderer/consensus/etcdraft/mocks/configurator.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //Code generated by mockery v1.0.0. 不要编辑。
10 |
11 | package mocks
12 |
13 | import cluster "github.com/hyperledger/fabric/orderer/common/cluster"
14 |
15 | import mock "github.com/stretchr/testify/mock"
16 |
17 | //配置器是为配置器类型自动生成的模拟类型
18 | type Configurator struct {
19 | mock.Mock
20 | }
21 |
22 | //configure提供了一个具有给定字段的模拟函数:channel、newnodes
23 | func (_m *Configurator) Configure(channel string, newNodes []cluster.RemoteNode) {
24 | _m.Called(channel, newNodes)
25 | }
26 |
--------------------------------------------------------------------------------
/orderer/consensus/etcdraft/testdata/etcdraftgenesis.block:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/orderer/consensus/etcdraft/testdata/etcdraftgenesis.block
--------------------------------------------------------------------------------
/orderer/consensus/etcdraft/testdata/mychannel.block:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/orderer/consensus/etcdraft/testdata/mychannel.block
--------------------------------------------------------------------------------
/orderer/main.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2017保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | //package main是订购方二进制文件的入口点
17 | //并且只调用server.main()函数。没有其他
18 | //此包中应包含函数。
19 | package main
20 |
21 | import "github.com/hyperledger/fabric/orderer/common/server"
22 |
23 | func main() {
24 | server.Main()
25 | }
26 |
--------------------------------------------------------------------------------
/peer/chaincode/api/api.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package api
17 |
18 | import (
19 | pcommon "github.com/hyperledger/fabric/protos/common"
20 | pb "github.com/hyperledger/fabric/protos/peer"
21 | )
22 |
23 | //go:生成伪造者-o../mock/deliver.go-伪造名称deliver。递送
24 |
25 | //Deliver定义用于传递块的接口
26 | type Deliver interface {
27 | Send(*pcommon.Envelope) error
28 | Recv() (*pb.DeliverResponse, error)
29 | CloseSend() error
30 | }
31 |
--------------------------------------------------------------------------------
/peer/common/testdata/absolute.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | peer:
6 | BCCSP:
7 | Default: SW
8 | SW:
9 | Hash: SHA2
10 | Security: 256
11 | FileKeyStore:
12 | # absolute path
13 | KeyStore: /msp/keystore
14 |
--------------------------------------------------------------------------------
/peer/common/testdata/certs/bad.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgg6BAaCpwlmg/hEP4
3 | QjUeWEu3crkxMvjq4vYh3LaDREuhRANCAAR+FujNKcGQW/CEpMU6Yp45ye2cbOwJ
4 | -----END PRIVATE KEY-----
5 |
--------------------------------------------------------------------------------
/peer/common/testdata/certs/client.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgg6BAaCpwlmg/hEP4
3 | QjUeWEu3crkxMvjq4vYh3LaDREuhRANCAAR+FujNKcGQW/CEpMU6Yp45ye2cbOwJ
4 | iB8Ddv41SGYNoaKALIaCxdRj0tLo9CEMhtlnhi3SbTcms1IsRRN+O5UY
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/peer/common/testdata/notset.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | peer:
6 | BCCSP:
7 | Default: SW
8 | SW:
9 | Hash: SHA2
10 | Security: 256
11 | FileKeyStore:
12 | # not set
13 | KeyStore:
14 |
--------------------------------------------------------------------------------
/peer/common/testdata/relative.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | peer:
6 | BCCSP:
7 | Default: SW
8 | SW:
9 | Hash: SHA2
10 | Security: 256
11 | FileKeyStore:
12 | # relative path
13 | KeyStore: msp/keystore
14 |
--------------------------------------------------------------------------------
/peer/common/testdata/test.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 | peer:
6 | tls:
7 | rootcert:
8 | file: "certs/ca.crt"
9 | clientKey:
10 | file: "certs/client.key"
11 | clientCert:
12 | file: "certs/client.crt"
13 | client:
14 | connTimeout: 1s
15 |
16 | orderer:
17 | tls:
18 | rootcert:
19 | file: "certs/ca.crt"
20 | clientKey:
21 | file: "certs/client.key"
22 | clientCert:
23 | file: "certs/client.crt"
24 | client:
25 | connTimeout: 1s
26 |
--------------------------------------------------------------------------------
/peer/node/signals.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+建设!窗户
10 |
11 | /*
12 | 版权所有IBM公司。保留所有权利。
13 |
14 | SPDX许可证标识符:Apache-2.0
15 | **/
16 |
17 |
18 | package node
19 |
20 | import (
21 | "os"
22 | "syscall"
23 |
24 | "github.com/hyperledger/fabric/common/diag"
25 | )
26 |
27 | func addPlatformSignals(sigs map[os.Signal]func()) map[os.Signal]func() {
28 | sigs[syscall.SIGUSR1] = func() { diag.LogGoRoutines(logger.Named("diag")) }
29 | return sigs
30 | }
31 |
--------------------------------------------------------------------------------
/peer/node/signals_windows.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | //+构建窗口
10 |
11 | /*
12 | 版权所有IBM公司。保留所有权利。
13 |
14 | SPDX许可证标识符:Apache-2.0
15 | **/
16 |
17 |
18 | package node
19 |
20 | import (
21 | "os"
22 | )
23 |
24 | func addPlatformSignals(sigs map[os.Signal]func()) map[os.Signal]func() {
25 | return sigs
26 | }
27 |
--------------------------------------------------------------------------------
/protos/.protoroot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/protos/.protoroot
--------------------------------------------------------------------------------
/protos/ledger/rwset/kvrwset/tests/.gitattributes:
--------------------------------------------------------------------------------
1 | # Define binary file attributes.
2 | kvrwsetV1ProtoBytes binary
3 |
--------------------------------------------------------------------------------
/protos/ledger/rwset/kvrwset/tests/kvrwsetV1ProtoBytes:
--------------------------------------------------------------------------------
1 |
2 |
3 | key1$
4 | k0k9"
5 |
6 |
7 | k1
8 |
9 |
10 | k2"
11 | k00k90*Hash-1Hash-2
12 | key2value2
--------------------------------------------------------------------------------
/protos/ledger/rwset/tests/.gitattributes:
--------------------------------------------------------------------------------
1 | # Define binary file attributes.
2 | rwsetV1ProtoBytes binary
3 |
--------------------------------------------------------------------------------
/protos/ledger/rwset/tests/rwsetV1ProtoBytes:
--------------------------------------------------------------------------------
1 |
2 | ns-1
3 | ns-1-rwset
4 | ns-2
5 | ns-2-rwset
--------------------------------------------------------------------------------
/sampleconfig/msp/config.yaml:
--------------------------------------------------------------------------------
1 | # Copyright IBM Corp. All Rights Reserved.
2 | #
3 | # SPDX-License-Identifier: Apache-2.0
4 | #
5 |
6 | OrganizationalUnitIdentifiers:
7 | - Certificate: "cacerts/cacert.pem"
8 | OrganizationalUnitIdentifier: "COP"
9 |
10 | NodeOUs:
11 | Enable: false
12 | ClientOUIdentifier:
13 | # if Certificate is empty, then the certifier identifier will not be enforced
14 | Certificate: "cacerts/cacert.pem"
15 | OrganizationalUnitIdentifier: "OU_client"
16 | PeerOUIdentifier:
17 | Certificate: "cacerts/cacert.pem"
18 | OrganizationalUnitIdentifier: "OU_peer"
19 |
--------------------------------------------------------------------------------
/sampleconfig/msp/keystore/key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgXa3mln4anewXtqrM
3 | hMw6mfZhslkRa/j9P790ToKjlsihRANCAARnxLhXvU4EmnIwhVl3Bh0VcByQi2um
4 | 9KsJ/QdCDjRZb1dKg447voj5SZ8SSZOUglc/v8DJFFJFTfygjwi+27gz
5 | -----END PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/scripts/changelog.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # Copyright IBM Corp. All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 |
9 | echo "## $2\n$(date)" >> CHANGELOG.new
10 | echo "" >> CHANGELOG.new
11 | git log $1..HEAD --oneline | grep -v Merge | sed -e "s/\[\(FAB-[0-9]*\)\]/\[\1\](https:\/\/jira.hyperledger.org\/browse\/\1\)/" -e "s/ \(FAB-[0-9]*\)/ \[\1\](https:\/\/jira.hyperledger.org\/browse\/\1\)/" -e "s/\([0-9|a-z]*\)/* \[\1\](https:\/\/github.com\/hyperledger\/fabric\/commit\/\1)/" >> CHANGELOG.new
12 | echo "" >> CHANGELOG.new
13 | cat CHANGELOG.md >> CHANGELOG.new
14 | mv -f CHANGELOG.new CHANGELOG.md
15 |
--------------------------------------------------------------------------------
/scripts/check_deps.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | # Copyright IBM Corp All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 |
7 | dep version
8 | dep check
9 |
--------------------------------------------------------------------------------
/scripts/check_trailingspaces.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright Hitachi, Ltd. All Rights Reserved.
3 | # SPDX-License-Identifier: Apache-2.0
4 |
5 | COMMIT_FILES=`git diff --name-only --diff-filter=ACMRTUXB HEAD | grep -Ev '(^|/)vendor/'`
6 |
7 | echo "Checking trailing spaces ..."
8 | for filename in `echo $COMMIT_FILES`; do
9 | if [[ `file $filename` == *"ASCII text"* ]];
10 | then
11 | if [ ! -z "`egrep -l " +$" $filename`" ];
12 | then
13 | FOUND_TRAILING='yes'
14 | echo "Error: Trailing spaces found in file:$filename, lines:"
15 | egrep -n " +$" $filename
16 | fi
17 | fi
18 | done
19 |
20 | if [ ! -z ${FOUND_TRAILING+x} ];
21 | then
22 | echo "Please omit trailing spaces and make again."
23 | exit 1
24 | fi
25 |
--------------------------------------------------------------------------------
/scripts/goListFiles.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Copyright Greg Haskins All Rights Reserved.
4 | #
5 | # SPDX-License-Identifier: Apache-2.0
6 | #
7 |
8 |
9 | find_golang_src() {
10 | find $1 -name "*.go" -or -name "*.h" -or -name "*.c" -or -name "*.s"
11 | }
12 |
13 | list_deps() {
14 | target=$1
15 |
16 | deps=`go list -f '{{ join .Deps "\n" }}' $target`
17 |
18 | find_golang_src $GOPATH/src/$target
19 |
20 | for dep in $deps;
21 | do
22 | importpath=$GOPATH/src/$dep
23 | if [ -d $importpath ];
24 | then
25 | find_golang_src $importpath
26 | fi
27 | done
28 | }
29 |
30 | list_deps $1 | sort | uniq
31 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ":core:chaincode:shim:java"
2 | include ":examples:chaincode:java:Example"
3 | include ":examples:chaincode:java:MapExample"
4 | include ":examples:chaincode:java:LinkExample"
5 | include ":examples:chaincode:java:SimpleSample"
6 | include ":examples:chaincode:java:RangeExample"
7 | include ":examples:chaincode:java:TableExample"
8 |
--------------------------------------------------------------------------------
/test-pyramid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yinchengtsinghua/Fabric-Chinese/523a819b7bfd800b55e5261287900aad863a8122/test-pyramid.png
--------------------------------------------------------------------------------
/token/client/msp.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package client
16 |
17 | //go:生成伪造者-o mock/signer_identity.go-fake name signer identity。签名身份
18 |
19 | type Signer interface {
20 | //sign对给定的有效负载进行签名并返回签名
21 | Sign([]byte) ([]byte, error)
22 | }
23 |
24 | //SignerIdentity对消息进行签名并将其公共标识序列化为字节
25 | type SignerIdentity interface {
26 | Signer
27 |
28 | //serialize返回用于验证的此标识的字节表示形式
29 | //此SignerIdentity签名的邮件
30 | Serialize() ([]byte, error)
31 | }
32 |
--------------------------------------------------------------------------------
/token/server/msp.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 | package server
16 |
17 | //go:生成伪造者-o mock/signer_identity.go-fake name signer identity。签名身份
18 |
19 | type Signer interface {
20 | //sign对给定的有效负载进行签名并返回签名
21 | Sign([]byte) ([]byte, error)
22 | }
23 |
24 | //SignerIdentity对消息进行签名并将其公共标识序列化为字节
25 | type SignerIdentity interface {
26 | Signer
27 |
28 | //serialize返回用于验证的此标识的字节表示形式
29 | //此SignerIdentity签名的邮件
30 | Serialize() ([]byte, error)
31 | }
32 |
--------------------------------------------------------------------------------
/token/tms/manager/manager_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package manager_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestTransaction(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Manager Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/token/tms/plain/plain_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package plain_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestPlain(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Plain Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/token/tms/transactiondata.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM Corp.2017保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package tms
17 |
18 | import "github.com/hyperledger/fabric/protos/token"
19 |
20 | //TransactionData结构包含令牌事务和结构事务ID。
21 | //令牌事务由验证方对等方创建,但仅创建事务ID
22 | //稍后由客户机执行(使用令牌事务和nonce)。在验证和提交时
23 | //提交对等机需要时间、令牌事务和事务ID。
24 | //将它们存储在一个结构中有助于处理它们。
25 | type TransactionData struct {
26 | Tx *token.TokenTransaction
27 | //结构事务ID
28 | TxID string
29 | }
30 |
--------------------------------------------------------------------------------
/token/transaction/transaction_suite_test.go:
--------------------------------------------------------------------------------
1 |
2 | //此源码被清华学神尹成大魔王专业翻译分析并修改
3 | //尹成QQ77025077
4 | //尹成微信18510341407
5 | //尹成所在QQ群721929980
6 | //尹成邮箱 yinc13@mails.tsinghua.edu.cn
7 | //尹成毕业于清华大学,微软区块链领域全球最有价值专家
8 | //https://mvp.microsoft.com/zh-cn/PublicProfile/4033620
9 | /*
10 | 版权所有IBM公司。保留所有权利。
11 |
12 | SPDX许可证标识符:Apache-2.0
13 | **/
14 |
15 |
16 | package transaction_test
17 |
18 | import (
19 | "testing"
20 |
21 | . "github.com/onsi/ginkgo"
22 | . "github.com/onsi/gomega"
23 | )
24 |
25 | func TestTransaction(t *testing.T) {
26 | RegisterFailHandler(Fail)
27 | RunSpecs(t, "Transaction Suite")
28 | }
29 |
--------------------------------------------------------------------------------
/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | minversion = 1.6
3 | envlist =
4 | docs,
5 | docs-linkcheck
6 | skipsdist=true
7 |
8 | [testenv:docs]
9 | deps = -rdocs/requirements.txt
10 | commands =
11 | sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/source {toxinidir}/docs/_build/html
12 | echo "Generated docs available in {toxinidir}/docs/_build/html"
13 | whitelist_externals = echo
14 |
15 | [testenv:docs-linkcheck]
16 | deps = -rdocs/requirements.txt
17 | commands =
18 | sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/source {toxinidir}/docs/_build/linkcheck
19 |
--------------------------------------------------------------------------------