work, let us see how to achieve a key with fabric: (in fact, with shell script can be directly done, but the advantage of FAB is not here, Here the main bit behind the local + remote operation to prepare, after all, two places to write a script for easy maintenance)from fabric.api import localdef setting_ci(): local("cd /home/project/test/conf/") local("git add settings.py") #后面你懂的,懒得敲了…..Mashup Integration Remote operationAt this point, sup
first, fabric network structure (temporarily excluding CA)
As shown in the figure above, in the Fabric network, o indicates that ORDERER,P represents PEER,EP representative endorsing Peer (endorser), CC represents Chaincode, and client, Channel, Ledger, Transaction, which makes up the entire network, describes each of these elements:
Clients: A client installed at a node (Peer) can initiate a request to
The 1.Chaincode interface must be implemented by all the code on the chain, and the fabric runs the transaction by invoking these specified functions
Call the INIT function to allow code on the chain to initialize internal data after the container has established a connection and then deploys the transaction
Init (stub chaincodestubinterface, function string, args []string) ([]byte, error)
Each call to the transaction invokes the Invoke interface.
Installing Curl (Install curl)
If you do not have curl installed, download and install it.
Note: If it is windows, please look at the following Windows extras;
Docker and Docker Compose
Below you talk about installing Docker and Docker compose.
MAXOSX, *nix, or Windows 10 requires the installation of Docker V1.12 or a later version.
Older versions of Windows need to be installed first: Docker Toolbox before installing Docker V1.12 or later.
You can view your Docker version by entering the fol
Fabric-sdk-java build and compile (this article is based on 1.0.1 version)
1, install jdk1.8 and above version
2, download Fabric-sdk-java GitHub address: Https://github.com/hyperledger/fabric-sdk-java
3. Import into Eclipse tools
4, switch to the project directory under the Command Window mode of execution: MVN compile-dskiptests,
Refresh the project after
Note: This article was first published on 2017-09-22.
Hyperledger source code Analysis of Fabric introduction
The Chaincode is the user chaincode,ucc, which is important for application developers, and it provides state processing logic based on the blockchain distributed ledger, which can be used to develop a variety of complex applications.
Hyperledger Fabric, Chaincode runs in the Docker container by d
GitHub's README.MD format reference on GitHub readme.md IntroductionThe main is "add ========== under the text is the headline text", "Add------------------under the text is in the title text", "Add # # in front of the text #就是小标题文字", "Add 2 tab in front of the text is the code style", " Add * or > etc. to the text in front of the script or quote including service etc. ".More tools to see:iOS developers must have no less than 75 toolsSeven Debug Tools recommended: iOS Development necessary debu
This is a creation in
Article, where the information may have evolved or changed.
Brief introduction
Chaincode is the user chain code, which provides state processing logic based on the blockchain distributed ledger.Fabric, Chaincode is run by default in the Docker container.Peer creates and launches the Chaincode container by calling the Docker API.Chaincode A GRPC connection is created between the container and peer, and both parties communicate interactively by sending Chaincodemessage.
This is a creation in
Article, where the information may have evolved or changed.
Overall structure
Fabric-peer: Mainly peer role, including endorser (endorser), committer two rolesFABRIC-CA: The original MEMBERSRVC, independent into a new projectFabric-order: Play the order role
Core Code Package
BCCSP Package: Support for encryption and decryption algorithms and mechanismsCommon package: Some general-purpose modulesCore package: Most
structure-sized memory spacemarshal.copy (bytes, 0,structptr,size); // obj= marshal.ptrtostructure (Structptr,type); marshal.freehglobal (STRUCTPTR); Returnobj; } } } 3. Last look at the client//1. Create a nested section wordm_s=NewSockets (AddressFamily.InterNetwork, Sockettype.dgram, PROTOCOLTYPE.UDP);//2. Fill in the server IPIPAddress IP=Ipaddress.parse ("127.0.0.1");IPEndPoint Ipe=NewIPEndPoint (IP,4321);//Send this user information to the serverCp2pmessage msg=NewCp2pmessage ();
AgentAn HTTP intermediate entity located between the client and the serverCacheHTTP repositories, so that copies of common pages can be saved closer to the clientGatewayA special Web server that connects other applications, typically used to convert HTTP traffic to other protocol trafficTunnelA special agent for blind forwarding of HTTP communication messagesThe difference between proxy and gateway:The agent is the intermediate substance that connects the two identical protocol endpoints, and th
, which I have converted to Swift3 : Final class Box { var unbox:a Init (_ value:a) { unbox = value } } struct Gaussianblur { private var boxedfilter:box= { var filter = cifilter (name: "Cigaussianblur", Withinputparameters: [:])! Filter.setdefaults () return Box (filter) }() fileprivate var filter:cifilter { get {return Boxedfilter.unbox} set {boxedfilter = Box (newvalue)} } private var filterforwriting:cifilter { mutating get { if!isknownuniquelyreferenced (boxedfilter) { filter = filter.copy
invoke.App layer is the application layer, address Book phone SMS mailbox Web browser and other applications, providing user interface.So integration, the Android development model is the classic multi-layered model, the APP is the presentation layer Framework provides basic functionality to encapsulate the Native Lib +dalvik virtual machine similar to the. NETFramework CLR.Finally, the executable instructions are sent to the Linux kernel, and the Linux system contains the lowest-level call man
-in in relational databases, especially OLTP systems, but in HBase Files that have already been written will hardly be modified unless the compact is otherwise.Now look at get ' tab ', ' Row1 ', ' cf1:col1 ', in determining if a file contains (ROW1:CF1:COL1), only need to do a k hash of the row1:cf1:col1, and determine whether each result corresponds to the ARR array value is not 1 , if one is not, you can indicate that the column data does not exist in the file (although all of them are not nec
probability of miscalculation, especially as the number of elements closer to capacity, the probability of miscalculation will be higher)If there is a ' 0 ', then you can be sure that the string does not existThe implementation code is as follows:I used 5 hashing algorithms that I could find on the internet and find some high survival rates.They are then implemented using an imitation function:Struct__hashfunc1{size_tsdbmhash (CHARNBSP;*STR) {size_thash=0;while (*STR) { hash= (*str++) + (hashBr
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.