Skip to content

Commit 1bd762f

Browse files
author
NIKHIL E GUPTA
committed
[FAB-14393] Add chaincode definition to glossary
Also update transaction, initialization, and other parts of the glossary impacted by lifecycle Change-Id: I8cf0648eef37e3adfd48137979ca68e0c533678c Signed-off-by: NIKHIL E GUPTA <negupta@us.ibm.com>
1 parent 14d27e1 commit 1bd762f

File tree

1 file changed

+57
-21
lines changed

1 file changed

+57
-21
lines changed

docs/source/glossary.rst

Lines changed: 57 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ See Smart-Contract_.
111111

112112
.. _Channel:
113113

114-
115114
Channel
116115
-------
117116

@@ -175,7 +174,7 @@ A broader term overarching the entire transactional flow, which serves to genera
175174
an agreement on the order and to confirm the correctness of the set of transactions
176175
constituting a block.
177176

178-
.. _Consortium:
177+
.. _Consenter-Set:
179178

180179
Consenter set
181180
-------------
@@ -185,7 +184,7 @@ in the consensus mechanism on a channel. If other ordering nodes exist on the
185184
system channel, but are not a part of a channel, they are not part of that
186185
channel's consenter set.
187186

188-
.. _Consenter-Set:
187+
.. _Consortium:
189188

190189
Consortium
191190
----------
@@ -197,15 +196,28 @@ networks have a single consortium. At channel creation time, all organizations
197196
added to the channel must be part of a consortium. However, an organization
198197
that is not defined in a consortium may be added to an existing channel.
199198

200-
.. _Consortium:
199+
.. _Chaincode-definition:
200+
201+
Chaincode definition
202+
--------------------
203+
204+
A chaincode definition is used by organizations to agree on the parameters of a
205+
chaincode before it can be used on a channel. Each channel member that wants to
206+
use the chaincode to endorse transactions or query the ledger needs to approve
207+
a chaincode definition for their organization. Once enough channel members have
208+
approved a chaincode definition to meet the Lifecycle Endorsement policy (which
209+
is set to a majority of organizations in the channel by default), the chaincode
210+
definition can be committed to the channel. After the definition is committed,
211+
the first invoke of the chaincode (or, if requested, the execution of the Init
212+
function) will start the chaincode on the channel.
213+
214+
.. _Current-State:
201215

202216
Current State
203217
-------------
204218

205219
See World-State_.
206220

207-
.. _Current-State:
208-
209221
.. _Dynamic-Membership:
210222

211223
Dynamic Membership
@@ -241,7 +253,16 @@ peers that are assigned to a specific chaincode application. Policies can be
241253
curated based on the application and the desired level of resilience against
242254
misbehavior (deliberate or not) by the endorsing peers. A transaction that is submitted
243255
must satisfy the endorsement policy before being marked as valid by committing peers.
244-
A distinct endorsement policy for install and instantiate transactions is also required.
256+
257+
.. _FabToken:
258+
259+
FabToken
260+
--------
261+
262+
FabToken is an Unspent Transaction Output (UTXO) based token management system
263+
that allows users to issue, transfer, and redeem tokens on channels. FabToken
264+
uses the membership services of Fabric to authenticate the identity of token
265+
owners and manage their public and private keys.
245266

246267
.. _Follower:
247268

@@ -283,12 +304,15 @@ issues PKI-based certificates to network member organizations and their users.
283304
The CA issues one root certificate (rootCert) to each member and one enrollment
284305
certificate (ECert) to each authorized user.
285306

286-
.. _Initialize:
307+
.. _Init:
287308

288-
Initialize
289-
----------
309+
Init
310+
----
290311

291-
A method to initialize a chaincode application.
312+
A method to initialize a chaincode application. All chaincodes need to have an
313+
an Init function. By default, this function is never executed. However you can
314+
use the chaincode definition to request the execution of the Init function in
315+
order to initialize the chaincode.
292316

293317
Install
294318
-------
@@ -298,9 +322,12 @@ The process of placing a chaincode on a peer's file system.
298322
Instantiate
299323
-----------
300324

301-
The process of starting and initializing a chaincode application on a specific channel.
302-
After instantiation, peers that have the chaincode installed can accept chaincode
303-
invocations.
325+
The process of starting and initializing a chaincode application on a specific
326+
channel. After instantiation, peers that have the chaincode installed can accept
327+
chaincode invocations. This method was used in the previous version of the chaincode
328+
lifecycle. For the current procedure used to start a chaincode on a channel in
329+
the new Fabric chaincode lifecycle introduced as an Alpha feature in Fabric v2.0,
330+
see Chaincode-definition_.
304331

305332
.. _Invoke:
306333

@@ -523,7 +550,14 @@ Proposal
523550
--------
524551

525552
A request for endorsement that is aimed at specific peers on a channel. Each
526-
proposal is either an instantiate or an invoke (read/write) request.
553+
proposal is either an Init or an invoke (read/write) request.
554+
555+
.. _Prover-peer:
556+
557+
Prover peer
558+
-----------
559+
560+
A trusted peer used by the FabToken client to assemble a token transaction.
527561

528562
.. _Query:
529563

@@ -590,7 +624,7 @@ A smart contract is code -- invoked by a client application external to the
590624
blockchain network -- that manages access and modifications to a set of
591625
key-value pairs in the :ref:`World-State`. In Hyperledger Fabric, smart
592626
contracts are referred to as chaincode. Smart contract chaincode is installed
593-
onto peer nodes and instantiated to one or more channels.
627+
onto peer nodes and then defined and used on one or more channels.
594628

595629
.. _State-DB:
596630

@@ -630,11 +664,13 @@ Transaction
630664

631665
A transaction, 'T'
632666

633-
Invoke or instantiate results that are submitted for ordering, validation, and commit.
634-
Invokes are requests to read/write data from the ledger. Instantiate is a request to
635-
start and initialize a chaincode on a channel. Application clients gather invoke or
636-
instantiate responses from endorsing peers and package the results and endorsements
637-
into a transaction that is submitted for ordering, validation, and commit.
667+
Transactions are created when a chaincode or FabToken client is used to read or
668+
write to data from the ledger. If you are invoking a chaincode, application
669+
clients gather the responses from endorsing peers and then package the results
670+
and endorsements into a transaction that is submitted for ordering, validation,
671+
and commit. If using FabToken to create a token transaction, the FabToken client
672+
must use a prover peer to create a transaction that is submitted to the
673+
ordering service and then validated by committing peers.
638674

639675
.. _World-State:
640676

0 commit comments

Comments
 (0)