Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž—αŸ’αž“αŸ‚αž€αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžαŸ’αž›αžΆαž…αž αžΎαž™αžŠαŸƒαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžšαž˜αžΆαžŸαŸ‹!

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž˜αž»αž“ αž™αžΎαž„αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžŠαŸ‚αž› blockchains αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžΆαž„αžŸαž„αŸ‹ (αžαžΎαž™αžΎαž„αž‚αž½αžšαž”αž„αŸ’αž€αžΎαž blockchain αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡?) αž“αž·αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž‡αŸ†αž“αž½αž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ (αž αŸαžαž»β€‹αž’αŸ’αžœαžΈβ€‹αž”αžΆαž“β€‹αž‡αžΆβ€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž€αžŸαžΆαž„β€‹αžŸαŸ†αžŽαž»αŸ†β€‹αžšαžΏαž„?) αžŠαž›αŸ‹αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžŠαŸƒαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž αžΎαž™! αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αž Pilots αž“αž·αž„ PoC (Proof of Concept) αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž”αŸ’αžšαžΎαž–αž–αž€ αž–αŸ’αžšαŸ„αŸ‡... αž–αž½αž€αž‚αŸαž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αž–αžΈαž‚αŸ’αžšαž”αŸ‹αž‘αž·αžŸαž‘αžΈαž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž›αŸ„αž€ αž αžΎαž™αž‡αžΆαžšαžΏαž™αŸ— αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αž‡αŸ‡αžαŸ’αž‡αžΆαž™αž–αŸαž›αžœαŸαž›αžΆαž›αžΎαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαŸαž’αž»αž‰αž‘αŸ’αžšαžΆαž“αŸ‹αž“αŸ„αŸ‡αž‘αŸ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž»αž“αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž…αžΌαžšαž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαžΆαž˜αž‰αŸ’αž‰ αž§αž‘αžΆαž αžšαžŽαŸ αž”αžŽαŸ’αžαžΆαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹αžšαžœαžΆαž„αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜ αž αžΎαž™αž αŸ…αžœαžΆαžαžΆ Bitcoin αžŠαŸ„αž™αžŸαž»αž—αžΆαž–αžšαžΆαž”αžŸαžΆαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎ IBM cloud αž“αž·αž„ universal blockchain Hyperledger Fabric αŸ” αž‡αžΆαžŠαŸ†αž”αžΌαž„ αž…αžΌαžšαž™αžΎαž„αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž€αŸ’αžšαžŽαžΆαžαŸ‹ Hyperledger αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž‡αžΆαžŸαž€αž› blockchain?

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž€αŸ’αžšαžŽαžΆαžαŸ‹ Hyperledger - αž‡αžΆ blockchain αžŸαž€αž›

αž“αž·αž™αžΆαž™αž‡αžΆαž‘αžΌαž‘αŸ… αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž€αž›αž‚αžΊαŸ–

  • αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž“αž·αž„αžŸαŸ’αž“αžΌαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ”
  • αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’;
  • αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž§αž”αž€αžšαžŽαŸ/αž˜αž“αž»αžŸαŸ’αžŸ;
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž”αžŽαŸ’αžŽαžŸαžΆαžšαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž€αŸ†αžŽαŸ‚αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž“αŸƒαž’αŸ’αžœαžΈαžŠαŸ‚αž› Hyperledger Fabric αž‚αžΊαž’αžΆαž…αž’αžΆαž“αž”αžΆαž“αž“αŸ… αžαŸ†αž”αž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰αž αžΎαž™αž“αž·αž™αžΆαž™αž±αŸ’αž™αžαŸ’αž›αžΈ Hyperledger Fabric αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαž blockchains αž―αž€αž‡αž“ αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαžŠαŸ‚αž›αž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ JS αž“αž·αž„ Go αŸ” αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž›αž˜αŸ’αž’αž·αžαž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒ Hyperledger Fabric αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž€αž›αžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αž€αžαŸ‹αžαŸ’αžšαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž—αžΆαž–αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž‚αžΊαžαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΌαž…αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž“αŸ…αž›αžΎ blockchain αž›αž»αŸ‡αžαŸ’αžšαžΆαžαŸ‚αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αžˆαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž™αž›αŸ‹αžŸαŸ’αžšαž”αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž·αž“αž’αžΆαž…αž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž¬αž›αž»αž”αžŠαŸ„αž™αžŸαŸ’αž„αŸ€αž˜αžŸαŸ’αž„αžΆαžαŸ‹αž”αžΆαž“αž‘αŸαŸ”

αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž€αŸ’αžšαžŽαžΆαžαŸ‹ Hyperledger

αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ Hyperledger FabricαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž’αž„αŸ’αž‚αž€αžΆαžš - αž’αž„αŸ’αž‚αž€αžΆαžšαž˜αžΆαž“αž˜αž·αžαŸ’αžαžšαž½αž˜αž€αžΆαžšαž„αžΆαžš ឧ. blockchain αž˜αžΆαž“αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž–αžΈαž’αž„αŸ’αž‚αž€αžΆαžšαŸ” αž’αž„αŸ’αž‚αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž’αžΆαž…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž†αžΆαž“αŸ‚αž›αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αž†αžΆαž“αŸ‚αž› - αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αžΌαž‡αžΈαžαž›αžŠαŸ‚αž›αž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜αž˜αž·αžαŸ’αžαžšαž½αž˜αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž€αŸ’αžšαž»αž˜ ឧ. blockchain αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ” αž€αŸ’αžšαžŽαžΆαžαŸ‹ Hyperledger αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš blockchains αž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ”

αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαžŸαž˜αžΆαž‡αž·αž€αž—αžΆαž– (MSP) αž‚αžΊαž‡αžΆ CA (αž’αžΆαž‡αŸ’αž‰αžΆαž’αžšαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžš) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸαž‰αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ αž“αž·αž„αž•αŸ’αžαž›αŸ‹αžαž½αž“αžΆαž‘αžΈαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžαŸ’αž“αžΆαŸ†αž„ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ MSP αŸ”

αžαŸ’αž“αžΆαŸ†αž„αž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž· - αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ blockchain αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ αž“αž·αž„αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž˜αžΆαž“αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ (αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαžŒαžΈαž‡αžΈαžαž›) αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αžŠαŸ„αž™ MSP αŸ” αž˜αž·αž“αžŠαžΌαž…αž”αžŽαŸ’αžαžΆαž‰ Bitcoin ឬ Etherium αžŠαŸ‚αž›αžαŸ’αž“αžΆαŸ†αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αžŸαŸ’αž˜αžΎαž‚αŸ’αž“αžΆαž‘αŸ αž€αŸ’αž“αž»αž„ Hyperledger Fabric nodes αžŠαžΎαžšαžαž½αž“αžΆαž‘αžΈαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ–

  • αž”αŸ’αžšαž αŸ‚αž› αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž˜αž·αžαŸ’αžβ€‹αž—αž€αŸ’αžαž· (EP) αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαŸ”
  • αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αž (CP) - αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαŸ‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– "αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž–αž·αž—αž–αž›αŸ„αž€" αŸ”
  • αž™αž»αžαŸ’αž€αžΆ Peer (AP) - αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αž„αŸ’αž‚αž€αžΆαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„ blockchain αž“αŸ„αŸ‡ αž˜αž·αžαŸ’αžαžšαž½αž˜αž™αž»αžαŸ’αž€αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαžœαžΆαž„αž–αž½αž€αž‚αŸαŸ” αžŸαŸ’αžαžΆαž”αŸαž“αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αžŠαŸƒαž‚αžΌαžŸαž αž€αžΆαžšαž™αž»αžαŸ’αž€αžΆαž˜αž½αž™ αž¬αž…αŸ’αžšαžΎαž“αŸ” αžŠαŸ„αž™αž”αŸ’αžšαžΎ AP αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αŸαž“αžŽαžΆαž˜αž½αž™αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž„αŸ’αž‚αž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž–αŸαžαŸŒαž˜αžΆαž“αžšαžœαžΆαž„ APs αž–αž·αž’αžΈαž€αžΆαžšαž“αž·αž™αžΆαž™αžŠαžΎαž˜.
  • αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ† Peer β€” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ’αžαžΆαž”αŸαž“αž˜αž½αž™αž˜αžΆαž“αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž…αŸ’αžšαžΎαž“αž“αžΆαž€αŸ‹ αž“αŸ„αŸ‡αž˜αžΆαž“αžαŸ‚αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž“αŸƒαž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž·αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αž›αž»αž€αž–αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰ αž αžΎαž™αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž–αž½αž€αž‚αŸαž‘αŸ…αž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž·αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αŸ” αž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αž‹αž·αžαž·αžœαž“αŸ’αž αž¬αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŠαŸ„αž™αžαžΆαž˜αžœαž“αŸ’αžαžŠαŸ„αž™αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αŸαž“αŸ” αž–αž·αž’αžΈαž€αžΆαžšαž“αž·αž™αžΆαž™αžŠαžΎαž˜αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αž•αž„αžŠαŸ‚αžšαŸ”

αž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜ - αž’αž„αŸ’αž‚αž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž“αž·αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž›αžΎ blockchain αŸ” αž–αž·αžŸαŸαžŸαž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαž˜αŸ’αž›αŸƒαž‚αž“αŸ’αž›αžΉαŸ‡αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ JSON αŸ” αžœαžΆαž‚αžΊαž‡αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžαŸ’αžšαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Blockchain αŸ” αž–αž½αž€αž‚αŸαž˜αžΆαž“αž”αŸ’αžšαžœαžαŸ’αžαž·αž˜αž½αž™ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αž“αž·αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ "αžšαžŠαŸ’αž‹αž–αž·αž—αž–αž›αŸ„αž€" αŸ” αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αžαžΆαž˜αž’αŸ†αž–αžΎαž…αž·αžαŸ’αž αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž—αžΆαžšαž€αž·αž…αŸ’αž…αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ” αž˜αž·αž“αž˜αžΆαž“αžœαžΆαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‘αŸ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αž‚αžΊαžαžΆαž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž·αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž˜αŸ’αž…αžΆαžŸαŸ‹ αž“αž·αž„αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαŸ”

αžŸαŸ€αžœαž—αŸ…αž’αŸ† - αžšαž½αž˜αž˜αžΆαž“ Blockchain αž“αž·αž„ Word state database αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αŸ” αžšαžŠαŸ’αž‹αž–αž·αž—αž–αž›αŸ„αž€αž”αŸ’αžšαžΎ LevelDB ឬ CouchDB αŸ”

αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαž - αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ Hyperledger Fabric αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆ chaincode αŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αžΌαžŠαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸ αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαž‚αžΊαž‡αžΆαž˜αŸ‰αžΌαžŒαž»αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ JS ឬ Go αŸ”

αž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™αž’αž“αž»αž˜αŸαž β€” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αŸαžαž€αžΌαžŠαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αž“αžΈαž˜αž½αž™αŸ— αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŸαŸ’αžαžΈαž–αžΈαž…αŸ†αž“αž½αž“αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αž–αžΉαž„αž‘αž»αž€ αž“αž·αž„αž–αžΈαž’αŸ’αž“αž€αžŽαžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αž“αŸ„αŸ‡αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‚αžΊαŸ– "αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΌαžœαžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αžŸαž˜αžΆαž‡αž·αž€αž“αŸƒαžŸαŸ’αžαžΆαž”αŸαž“αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ‰αž»αžŸαŸ’αžαž·αŸαŸ”" αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž‚αŸ„αž›αž“αž™αŸ„αž”αžΆαž™αŸ–

  • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž˜αŸαžαžŠαŸ„αž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŽαžΆαž˜αž½αž™αž“αŸƒαž’αž„αŸ’αž‚αž€αžΆαžšαŸ”
  • αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αžŸαž˜αžΆαž‡αž·αž€αžŽαžΆαž˜αž½αž™ αž¬αž’αžαž·αžαž·αž‡αž“αžšαž”αžŸαŸ‹αž’αž„αŸ’αž‚αž€αžΆαžšαŸ”
  • αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ„αž™αž’αž„αŸ’αž‚αž€αžΆαžšαž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αžŽαžΆαž˜αž½αž™αŸ”

αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰ - αžαŸ’αž…αž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αž›αž»αž€ αž αžΎαž™αž•αŸ’αž‰αžΎαžœαžΆαž‘αŸ…αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž“αŸ…αž€αŸ’αž“αž»αž„αž†αžΆαž“αŸ‚αž›αŸ” αž’αžΆαž“αžΆαž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αžŸαžΆαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αŸ” αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜ αžˆαŸ’αž˜αž½αž‰αž€αžŽαŸ’αžαžΆαž›αžŸαžΆαžš KafkaαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„ αž‘αŸ„αž›.

CallFlow

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž˜αž½αž™ Hyperledger Fabric αžŠαŸ„αž™αž”αŸ’αžšαžΎ Go, Node.js ឬ Java SDK;
  • αž’αžαž·αžαž·αž‡αž“αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš tx αž αžΎαž™αž•αŸ’αž‰αžΎαžœαžΆαž‘αŸ…αž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž·αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαŸ”
  • Peer αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž αžαŸ’αžαž›αŸαžαžΆαžšαž”αžŸαŸ‹αž’αžαž·αžαž·αž‡αž“ αž”αž‰αŸ’αž…αž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž•αŸ’αž‰αžΎαž αžαŸ’αžαž›αŸαžαžΆαž™αž›αŸ‹αž–αŸ’αžšαž˜αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž’αžαž·αžαž·αž‡αž“αžœαž·αž‰αŸ” Chaincode αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·β€‹αžαŸ‚β€‹αž›αžΎβ€‹αž’αŸ’αž“αž€β€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž αžΎαž™β€‹αž›αž‘αŸ’αž’αž•αž›β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·β€‹αžšαž”αžŸαŸ‹β€‹αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž•αŸ’αž‰αžΎβ€‹αž‘αŸ…β€‹αž˜αž·αžαŸ’αžβ€‹αž—αž€αŸ’αžαž·β€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹αŸ” αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸƒαž€αžΆαžšαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆ PBFT (Practical Byzantine Fault Tolerant) consensus αŸ” αžαž»αžŸαž‚αŸ’αž“αžΆαž–αžΈ BFT αž”αž»αžšαžΆαžŽ αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎ αž“αž·αž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αž–αžΉαž„αžαžΆαž˜αž·αž“αž˜αŸ‚αž“αž˜αž€αž–αžΈαž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž”αžΆαž“αž˜αž€αž–αžΈαžŸαŸ†αžŽαž»αŸ†αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  • αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αžαž·αžαž·αž‡αž“αž”αžΆαž“αž‘αž‘αž½αž›αž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž“αžΉαž„αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž™αž›αŸ‹αž–αŸ’αžšαž˜ αž‚αžΆαžαŸ‹αž•αŸ’αž‰αžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αŸ”
  • αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž”αž„αŸ’αž€αžΎαžαž”αŸ’αž›αž»αž€ αž αžΎαž™αž•αŸ’αž‰αžΎαžœαžΆαž‘αŸ…αž˜αž·αžαŸ’αžαžšαž½αž˜αž€αžΆαžšαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž’αžΆαž“αžΆαž“αžΌαžœαž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž‡αžΆαž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαž”αŸ’αž›αž»αž€ αžŠαŸ‚αž›αž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αŸαž αŸ…αžαžΆ αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžŸαž˜ (αžŸαžΌαž˜αž˜αžΎαž›αž•αŸ’αž“αŸ‚αž€ "Forks");
  • αž˜αž·αžαŸ’αžαž—αŸαž€αŸ’αžαž·αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αž›αž»αž€ αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž™αž›αŸ‹αž–αŸ’αžšαž˜αž˜αŸ’αžαž„αž‘αŸ€αž αžŸαžšαžŸαŸαžšαž”αŸ’αž›αž»αž€αž‘αŸ… blockchain αž“αž·αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„ "αžšαžŠαŸ’αž‹αž–αž·αž—αž–αž›αŸ„αž€" DB αŸ”

αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αž“αŸαŸ‡αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžαž½αž“αžΆαž‘αžΈαžšαžœαžΆαž„αžαŸ’αž“αžΆαŸ†αž„αŸ” αž“αŸαŸ‡αž’αžΆαž“αžΆαžαžΆ blockchain αž’αžΆαž…αž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž”αžΆαž“ αž“αž·αž„αž˜αžΆαž“αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ–

  • αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ (αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹) αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž™αž›αŸ‹αž–αŸ’αžšαž˜αž–αžΈαž˜αž·αžαŸ’αžαž—αž€αŸ’αžŠαž·αŸ” αž“αŸαŸ‡αž’αžΆαž“αžΆαž“αžΌαžœαž—αžΆαž–αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αžœαžΆβ€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αžŠαŸ„αž™β€‹αž’αŸ’αž“αž€β€‹αž…αžΌαž›β€‹αžšαž½αž˜β€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αž‚αžΆαŸ†αž‘αŸ’αžšβ€‹αž–αžΈβ€‹αž˜αž·αžαŸ’αžβ€‹αž—αž€αŸ’αžαž·β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  • αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΏαž“αŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“αžΆαžŠαŸ„αž™αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž„αŸ’αž€αžΎαžαž‡αžΆαž”αŸ’αž›αž»αž€αž˜αž½αž™αž αžΎαž™αž•αŸ’αž‰αžΎαžœαžΆαž‘αŸ…αžŸαŸ†αžŽαž»αŸ†αžαŸαžšαž“αŸƒαž’αŸ’αž“αž€αžŠαžΉαž€αž“αžΆαŸ†αŸ”
  • αž˜αž·αžαŸ’αžαžšαž½αž˜αž€αžΆαžšαž„αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαŸ‚ blockchain αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ - αžœαžΆαž’αžΆαž…αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž αžΎαž™αž–αž½αž€αž‚αŸαž˜αž·αž“αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αžαžΆαž˜αž–αž›αž…αŸ’αžšαžΎαž“αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž—αŸ’αž›αžΆαž˜αŸ—αž‘αŸαŸ”

αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒ Hyperledger Fabric αž“αž·αž„αž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αžœαž·αž’αžΈαž“αŸαŸ‡ αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– αž”αŸ’αžšαž—αž–αžŠαžΎαž˜αž“αŸƒαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ αž¬αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ– αž€αŸ’αžšαžŽαžΆαžαŸ‹ HyperledgerαŸ– αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Blockchains αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαž.

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ Hyperledger Fabric αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž€αž›αž–αž·αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αŸ–

  • αž’αž“αž»αžœαžαŸ’αžαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžαžΆαž˜αž’αŸ†αž–αžΎαž…αž·αžαŸ’αžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž€αžΆαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαž;
  • αž€αžαŸ‹αžαŸ’αžšαžΆ αž“αž·αž„αž‘αž‘αž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ blockchain αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ JSON;
  • αž•αŸ’αžαž›αŸ‹ αž“αž·αž„αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ API αžŠαŸ„αž™αž”αŸ’αžšαžΎαž’αžΆαž‡αŸ’αž‰αžΆαž’αžšαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžšαŸ”

αž₯αž‘αžΌαžœβ€‹αž™αžΎαž„β€‹αž™αž›αŸ‹β€‹αž”αž“αŸ’αžαž·αž…β€‹αž’αŸ†αž–αžΈβ€‹αž—αžΆαž–β€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹β€‹αž“αŸƒ Hyperledger Fabric αž‡αžΆβ€‹αž…αž»αž„β€‹αž€αŸ’αžšαŸ„αž™β€‹αž™αžΎαž„β€‹αž’αŸ’αžœαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ!

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ blockchain

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αž‰αŸ’αž αžΆ

αž—αžΆαžšαž€αž·αž…αŸ’αž…αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž”αžŽαŸ’αžαžΆαž‰ Citcoin αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αž»αžαž„αžΆαžšαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαž˜αž½αž™ αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž˜αžαž»αž›αŸ’αž™ αž”αž‰αŸ’αž…αžΌαž›αž‘αžΉαž€αž”αŸ’αžšαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹αž–αžΈαž‚αžŽαž“αžΈαž˜αž½αž™αž‘αŸ…αž‚αžŽαž“αžΈαž˜αž½αž™αž‘αŸ€αžαŸ” αž…αžΌαžšαž‚αžΌαžšαž‚αŸ†αžšαžΌαžœαžαŸ’αžαž»αž˜αž½αž™ αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž’αž“αž»αžœαžαŸ’αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αž˜αžΆαž“β€‹αž‚αžŽαž“αžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžŠαŸ„αž™β€‹αžˆαŸ’αž˜αŸ„αŸ‡ αž“αž·αž„β€‹αž˜αžΆαž“β€‹αžŸαž˜αžαž»αž›αŸ’αž™ αž“αž·αž„β€‹αž”αž‰αŸ’αž‡αžΈβ€‹αž‚αžŽαž“αžΈαŸ” αž‚αžŽαž“αžΈ αž“αž·αž„αž”αž‰αŸ’αž‡αžΈαž‚αžŽαž“αžΈαž‚αžΊαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αž€αŸ’αžšαžŽαžΆαžαŸ‹ Hyperledger αŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™αž–αž½αž€αž‚αŸαž˜αžΆαž“αž”αŸ’αžšαžœαžαŸ’αžαž·αž“αž·αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αŸ’αž™αžΆαž™αžΆαž˜αž‚αžΌαžšαžœαžΆαž±αŸ’αž™αž…αŸ’αž”αžΆαžŸαŸ‹αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αžαž½αž›αŸαžαž€αŸ†αž–αžΌαž›αž‚αžΊαž‡αžΆαžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ "αžšαžŠαŸ’αž‹αž–αž·αž—αž–αž›αŸ„αž€" αŸ” αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžαž½αž›αŸαžαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αŸ” αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ„αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžœαžαŸ’αžαž»αžαŸ’αž˜αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž αžΎαž™αžαž˜αŸ’αž›αŸƒαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αž“αžΉαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ”

IBM Cloud

αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„ αž–αž–αž€ IBM. αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαžœαŸαž‘αž·αž€αžΆ blockchain αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž‘αŸ… Pay-As-You-Go αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž›αžΏαž“αž‘αŸ αž–αŸ’αžšαŸ„αŸ‡... IBM αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžœαžΆαžŠαŸ„αž™αžŠαŸƒαŸ” αž‡αžΆαžœαž·αž‡αŸ’αž‡αž˜αžΆαž“ αžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž“αž·αž™αžΆαž™αž”αžΆαž“αžαžΆ IBM αž˜αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž›αŸ’αž’αŸ— αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Hyperledger Fabric αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž–αž€αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαžŸαŸŠαŸαžšαžΈαž’αžαŸ’αžαž”αž‘ αž“αž·αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž“αŸƒαžœαŸαž‘αž·αž€αžΆ IBM Blockchain αŸ” αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž blockchain αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž’αŸ†αž–αžΈαžœαž·αžŸαžΆαž›αž—αžΆαž–αž“αŸƒαž€αž·αž…αŸ’αž…αž€αžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ„αž›αž”αŸ†αžŽαž„αžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž’αž„αŸ’αž‚αž€αžΆαžšαžαŸ‚αž˜αž½αž™αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαžαŸ’αž“αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαŸ– Orderer CA, Org1 CA, Orderer PeerαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž”αž„αŸ’αž€αžΎαž Channel αž αžΎαž™αž αŸ…αžœαžΆαžαžΆ citcoinαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž†αžΆαž“αŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αž‚αžΊαž‡αžΆ blockchain αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž”αŸ’αž›αž»αž€αžŸαžΌαž“αŸ’αž™ (αž”αŸ’αž›αž»αž€αž›αŸ„αž€αž»αž”αŸ’αž”αžαŸ’αžαž·):

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ

/*
 * Citcoin smart-contract v1.5 for Hyperledger Fabric
 * (c) Alexey Sushkov, 2019
 */
 
'use strict';
 
const { Contract } = require('fabric-contract-api');
const maxAccounts = 5;
 
class CitcoinEvents extends Contract {
 
    async instantiate(ctx) {
        console.info('instantiate');
        let emptyList = [];
        await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(emptyList)));
    }
    // Get all accounts
    async GetAccounts(ctx) {
        // Get account list:
        let accounts = '{}'
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            accounts = JSON.parse(accountsData.toString());
        } else {
            throw new Error('accounts not found');
        }
        return accountsData.toString()
    }
     // add a account object to the blockchain state identifited by their name
    async AddAccount(ctx, name, balance) {
        // this is account data:
        let account = {
            name: name,
            balance: Number(balance),       
            type: 'account',
        };
        // create account:
        await ctx.stub.putState(name, Buffer.from(JSON.stringify(account)));
 
        // Add account to list:
        let accountsData = await ctx.stub.getState('accounts');
        if (accountsData) {
            let accounts = JSON.parse(accountsData.toString());
            if (accounts.length < maxAccounts)
            {
                accounts.push(name);
                await ctx.stub.putState('accounts', Buffer.from(JSON.stringify(accounts)));
            } else {
                throw new Error('Max accounts number reached');
            }
        } else {
            throw new Error('accounts not found');
        }
        // return  object
        return JSON.stringify(account);
    }
    // Sends money from Account to Account
    async SendFrom(ctx, fromAccount, toAccount, value) {
        // get Account from
        let fromData = await ctx.stub.getState(fromAccount);
        let from;
        if (fromData) {
            from = JSON.parse(fromData.toString());
            if (from.type !== 'account') {
                throw new Error('wrong from type');
            }   
        } else {
            throw new Error('Accout from not found');
        }
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balances
        if ((from.balance - Number(value)) >= 0 ) {
            from.balance -= Number(value);
            to.balance += Number(value);
        } else {
            throw new Error('From Account: not enought balance');          
        }
 
        await ctx.stub.putState(from.name, Buffer.from(JSON.stringify(from)));
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "SendFrom",
            from: from.name,
            to: to.name,
            balanceFrom: from.balance,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('SendFrom', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
 
    // get the state from key
    async GetState(ctx, key) {
        let data = await ctx.stub.getState(key);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
    // GetBalance   
    async GetBalance(ctx, accountName) {
        let data = await ctx.stub.getState(accountName);
        let jsonData = JSON.parse(data.toString());
        return JSON.stringify(jsonData);
    }
     
    // Refill own balance
    async RefillBalance(ctx, toAccount, value) {
        // get Account to
        let toData = await ctx.stub.getState(toAccount);
        let to;
        if (toData) {
            to = JSON.parse(toData.toString());
            if (to.type !== 'account') {
                throw new Error('wrong to type');
            }  
        } else {
            throw new Error('Accout to not found');
        }
 
        // update the balance
        to.balance += Number(value);
        await ctx.stub.putState(to.name, Buffer.from(JSON.stringify(to)));
                 
        // define and set Event
        let Event = {
            type: "RefillBalance",
            to: to.name,
            balanceTo: to.balance,
            value: value
        };
        await ctx.stub.setEvent('RefillBalance', Buffer.from(JSON.stringify(Event)));
 
        // return to object
        return JSON.stringify(from);
    }
}
module.exports = CitcoinEvents;

αžŠαŸ„αž™αžœαž·αž…αžΆαžšαžŽαž‰αžΆαžŽ αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αž½αžšαžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ–

  • αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“ (AddAccount, GetAccounts, SendFrom, GetBalance, RefillBalance) αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž“αžΉαž„αž αŸ…αžŠαŸ„αž™αž”αŸ’αžšαžΎ Hyperledger Fabric APIαŸ”
  • αž˜αž»αžαž„αžΆαžš SendFrom αž“αž·αž„ RefillBalance αž”αž„αŸ’αž€αžΎαžαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“αŸ”
  • αž˜αž»αžαž„αžΆαžš instantiate αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž αŸ…β€‹αž˜αŸ’αžαž„β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆβ€‹αž†αŸ’αž›αžΆαžαžœαŸƒβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž—αŸ’αž›αžΆαž˜αŸ—αŸ” αžαžΆαž˜αž–αž·αžαž‘αŸ… αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž˜αž·αž“αž˜αŸ‚αž“αžαŸ‚αž˜αŸ’αžαž„αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΆαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αž€αŸ†αžŽαŸ‚αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž”αž‰αŸ’αž‡αžΈαž‡αžΆαž˜αž½αž™αž’αžΆαžšαŸαž‘αž‘αŸ αž‚αžΊαž‡αžΆαž‚αŸ†αž“αž·αžαž˜αž·αž“αž›αŸ’αž’ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ†αžŽαŸ‚αž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ αž™αžΎαž„αž“αžΉαž„αž”αžΆαžαŸ‹αž”αž„αŸ‹αž”αž‰αŸ’αž‡αžΈαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αžαŸ‚αž˜αž·αž“αž’αžΈαž‘αŸ αžαŸ’αž‰αž»αŸ†αž‘αžΎαž”αžαŸ‚αžšαŸ€αž“)αŸ”
  • αž‚αžŽαž“αžΈ αž“αž·αž„αž”αž‰αŸ’αž‡αžΈαž‚αžŽαž“αžΈαž‚αžΊαž‡αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™ JSON αŸ” JS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”
  • αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžαž˜αŸ’αž›αŸƒαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‘αŸ’αžšαž–αŸ’αž™αžŸαž€αž˜αŸ’αž˜αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž αŸ…αž˜αž»αžαž„αžΆαžš getState αž αžΎαž™αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžœαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎ putState αŸ”
  • αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈ αž˜αž»αžαž„αžΆαžš AddAccount αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αŸ… αžŠαŸ‚αž›αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž‚αžŽαž“αžΈαž“αŸ…αž€αŸ’αž“αž»αž„ blockchain (maxAccounts = 5)αŸ” αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž˜αžΆαž“αž€αžΆαžšαž€αž€αžŸαŸ’αž‘αŸ‡αž˜αž½αž™ (αžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž‘αŸ?) αžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžšαž€αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž…αŸ†αž“αž½αž“αž‚αžŽαž“αžΈαŸ” αž€αŸ†αž αž»αžŸαž”αŸ‚αž”αž“αŸαŸ‡αž‚αž½αžšαžαŸ‚αž‡αŸ€αžŸαžœαžΆαž„)

αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€ αž™αžΎαž„β€‹αž•αŸ’αž‘αž»αž€β€‹αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆβ€‹αž†αŸ’αž›αžΆαžαžœαŸƒβ€‹αž‘αŸ…β€‹αž€αŸ’αž“αž»αž„ Channel αž αžΎαž™β€‹αž’αŸ’αžœαžΎβ€‹αžœαžΆβ€‹αž—αŸ’αž›αžΆαž˜αŸ—αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αžαŸ„αŸ‡αž˜αžΎαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ Smart ContractαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αžαŸ„αŸ‡αž‘αžŸαŸ’αžŸαž“αžΆαž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž’αŸ†αž–αžΈ Channel αžšαž”αžŸαŸ‹αž™αžΎαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αž“αžΆαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰ blockchain αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž–αž€ IBM αŸ” αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž€αŸαž”αž„αŸ’αž αžΆαž‰αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Amazon cloud αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αž (αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹)αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž GUI αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ API Hyperledger Fabric

Hyperledger Fabric αž˜αžΆαž“ API αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαŸ–

  • αž”αž„αŸ’αž€αžΎαžαž†αžΆαž“αŸ‚αž›;
  • αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž†αžΆαž“αŸ‚αž›;
  • αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαž“αŸ…αž€αŸ’αž“αž»αž„αž†αžΆαž“αŸ‚αž›;
  • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘;
  • αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈ blockchain αŸ”

αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎ API αžŠαžΎαž˜αŸ’αž”αžΈαž αŸ…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡ αž™αžΎαž„αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž‡αŸ†αž αžΆαž“αžŠαŸ‚αž›αž“αŸ…αžŸαž›αŸ‹αžšαž½αž…αž αžΎαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαžœαŸαž‘αž·αž€αžΆ blockchain αžšαž”αžŸαŸ‹ IBM αŸ” αž™αžΎαž„αžŸαžšαžŸαŸαžš GUI αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž„αŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαŸ– Express.js + Vue.js + Node.js αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžšαž’αžαŸ’αžαž”αž‘αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžŽαŸ’αžαžΆαž‰αž‘αŸ†αž“αžΎαž”αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž‘αž»αž€αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžœαž‚αŸ’αž‚αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αžšαŸ€αž“αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΌαž›αž…αž·αžαŸ’αžαž”αŸ†αž•αž»αžαŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžŽαŸ’αžαžΆαž‰αž‡αž„αŸ‹αž–αŸαž‰αžŠαŸ„αž™αž”αŸ’αžšαžΎ Vue.js & Express.js. αž›αž‘αŸ’αž’αž•αž›αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ-αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŠαŸ‚αž›αž’αŸ’αž›αžΆαž”αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜αžšαž…αž“αžΆαžŸαž˜αŸ’αž—αžΆαžšαŸˆαžšαž”αžŸαŸ‹ Google αŸ” REST API αžšαžœαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ αž˜αžΆαž“αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ–

  • HyperledgerDemo/v1/init - αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ blockchain;
  • HyperledgerDemo/v1/accounts/list β€” αž‘αž‘αž½αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΈαž‚αžŽαž“αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹
  • HyperledgerDemo/v1/account?name=Bob&balance=100 β€” αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈ Bob;
  • HyperledgerDemo/v1/info?account=Bob β€” αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž‚αžŽαž“αžΈ Bob;
  • HyperledgerDemo/v1/transaction?from=Bob&to=Alice&volume=2 β€” αž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹αž–αžΈαžšαž–αžΈ Bob αž‘αŸ… Alice;
  • HyperledgerDemo/v1/disconnect - αž”αž·αž‘αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ… blockchain αŸ”

αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈ API αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„ αž‚αŸαž αž‘αŸ†αž–αŸαžš Postman - αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž›αŸ’αž”αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαžΆαž€αž›αŸ’αž”αž„ HTTP API αŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž“αŸ…αž€αŸ’αž“αž»αž„ Amazon cloud

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αžΆαž”αŸ‹αž‘αžΌαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ… Amazon αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚... IBM αž“αŸ…αžαŸ‚αž˜αž·αž“αž’αžΆαž…αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž”αž„αŸ’αž€αžΎαžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αžαŸ” αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜ cherry αž‘αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ‚αž“αŸ– www.citcoin.info. αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž”αžΎαž€β€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž”αž˜αŸ’αžšαžΎβ€‹αž˜αž½αž™β€‹αžšαž™αŸˆβ€‹αžŸαž·αž“ αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αž”αž·αž‘β€‹αžœαžΆβ€‹αž…αŸ„αž›β€‹αž–αŸ’αžšαŸ„αŸ‡... αžŸαŸαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‡αž½αž›αž€αŸ†αž–αž»αž„αžŸαŸ’αžšαž€αŸ‹ αž αžΎαž™αž€αžΆαž€αŸ‹ citcoin αž˜αž·αž“αž‘αžΆαž“αŸ‹αž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈαž“αŸ…αž›αžΎαž•αŸ’αžŸαžΆαžšαž αŸŠαž»αž“αž‘αŸ) αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž“αŸƒαž€αžΆαžšαž„αžΆαžšαž˜αžΆαž“αž—αžΆαž–αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αž’αžΆαž…αŸ–

  • αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ blockchain;
  • αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαž˜αž½αž™ (αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαžαŸ’αž˜αžΈαž”αžΆαž“αž‘αŸαž–αŸ’αžšαŸ„αŸ‡αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž‚αžŽαž“αžΈαžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒαžαŸ’αžšαžΌαžœαž”αžΆαž“αžˆαžΆαž“αžŠαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain);
  • αž‘αž‘αž½αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΈαž‚αžŽαž“αžΈ;
  • αž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹ citcoin αžšαžœαžΆαž„ Alice, Bob αž“αž·αž„ Alex;
  • αž‘αž‘αž½αž›αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸ (αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αž·αž“αž˜αžΆαž“αžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αž·αž™αžΆαž™αžαžΆαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš);
  • αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž€αžαŸ‹αžαŸ’αžšαžΆαŸ”

αžŠαŸ†αž”αžΌαž„αž™αžΎαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ blockchainαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αž€αž»αŸ†αžαŸ’αž‡αŸ‡αžαŸ’αž‡αžΆαž™αž–αŸαž›αžœαŸαž›αžΆαž‡αžΆαž˜αž½αž™αžŸαž˜αžαž»αž›αŸ’αž™αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΈαž‚αžŽαž“αžΈαžŠαŸ‚αž›αž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž™αžΎαž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž’αŸ’αž“αž€αž•αŸ’αž‰αžΎ αž“αž·αž„αž’αŸ’αž“αž€αž‘αž‘αž½αž› αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž˜αžαž»αž›αŸ’αž™αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž•αŸ’αž‰αžΎ αž“αž·αž„αž’αŸ’αž“αž€αž‘αž‘αž½αž›αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž“αŸ„αŸ‡αž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž–αŸαž‰αž”αž“αŸ’αžαŸ‚αž˜αŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž™αžΎαž„αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αžαžΆαž˜αž–αž·αž αž“αŸ„αŸ‡αž‡αžΆαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αŸ” αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ blockchainαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž“αž·αž„αž”αž‰αŸ’αž‡αžΈαž‘αžΌαž‘αŸ…αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ–

Blockchain: αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž‚αž½αžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

αž‡αžΆαž˜αž½αž™αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αž“αžΌαžœαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž PoC αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž”αžŽαŸ’αžαžΆαž‰ Citcoin αŸ” αžαžΎαžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™ Citcoin αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αžŽαŸ’αžαžΆαž‰αž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹? αžαž·αž…αžαž½αž…β€‹αžŽαžΆαžŸαŸ‹:

  • αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž”αž„αŸ’αž€αžΎαžαž‚αžŽαž“αžΈ αžŸαžΌαž˜αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžŸαŸ„αž―αž€αž‡αž“/αžŸαžΆαž’αžΆαžšαžŽαŸˆαŸ” αžŸαŸ„αž―αž€αž‡αž“αžαŸ’αžšαžΌαžœαžαŸ‚αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αžŽαž“αžΈ αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆαžαŸ’αžšαžΌαžœαžαŸ‚αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αŸ”
  • αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹αžŠαŸ‚αž›αžŸαŸ„αžŸαžΆαž’αžΆαžšαžŽαŸˆ αž‡αžΆαž‡αžΆαž„αžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”
  • αž’αŸŠαž·αž“αž‚αŸ’αžšαžΈαž”αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž–αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ„αž―αž€αž‡αž“αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž™αžΎαž„αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž”αžŽαŸ’αžαžΆαž‰ Citcoin αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αž»αžαž„αžΆαžšαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αž”αž“αŸ’αžαŸ‚αž˜αž‚αžŽαž“αžΈ αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž˜αžαž»αž›αŸ’αž™ αž”αž‰αŸ’αž…αžΌαž›αž‘αžΉαž€αž”αŸ’αžšαžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž•αŸ’αž‘αŸαžšαž€αžΆαž€αŸ‹αž–αžΈαž‚αžŽαž“αžΈαž˜αž½αž™αž‘αŸ…αž‚αžŽαž“αžΈαž˜αž½αž™αž‘αŸ€αžαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžαžΎβ€‹αž™αžΎαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž…αŸ†αžŽαžΆαž™β€‹αž”αŸ’αžšαžΆαž€αŸ‹β€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž€αžΎαž PoC?

  • αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŸαž·αž€αŸ’αžŸαžΆ blockchain αž‡αžΆαž‘αžΌαž‘αŸ… αž“αž·αž„ Hyperledger Fabric αž‡αžΆαž–αž·αžŸαŸαžŸαŸ”
  • αžšαŸ€αž“αž”αŸ’αžšαžΎ IBM ឬ Amazon clouds;
  • αžšαŸ€αž“αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ JS αž“αž·αž„αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒαž‚αŸαž αž‘αŸ†αž–αŸαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”
  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž˜αž·αž“αž“αŸ…αž€αŸ’αž“αž»αž„ blockchain αž‘αŸαž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžšαŸ€αž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž˜αž½αž™ PostgreSQL αŸ”
  • αž αžΎαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž”αžΆαž“αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹ - αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αžšαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž·αž—αž–αž‘αŸ†αž“αžΎαž”αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αž’αŸ†αž–αžΈαž›αžΈαž“αž»αž…αž‘αŸ!)

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαžšαŸ‰αž»αž€αŸ’αž€αŸ‚αžαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžαŸ‚αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„!

αž”αŸ’αžšαž—αž–αž“αŸ…αž›αžΎ GitHub

αž”αŸ’αžšαž—αž–β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αžŠαžΆαž€αŸ‹β€‹αž“αŸ…β€‹αž›αžΎβ€‹ GitHub. αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαžŸαž„αŸ’αžαŸαž”αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ–
αž€αžΆαžαžΆαž‘αž»αž€ Β«αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž˜αŸ’αžšαžΎΒ» β€” αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Node.js
αž€αžΆαžαžΆαž‘αž»αž€ Β«αž’αžαž·αžαž·αž‡αž“Β» - αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž‰αŸ€αžœ Node.js
αž€αžΆαžαžΆαž‘αž»αž€ Β«blockchain"(αžαž˜αŸ’αž›αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš αž“αž·αž„αž€αžΌαž“αžŸαŸ„αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž‚αžΊαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡)αŸ–

  • αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ β€” αž€αžΌαžŠαž”αŸ’αžšαž—αž–αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαž
  • αž€αžΆαž”αžΌαž” - αž€αžΌαž“αžŸαŸ„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΎ Hyperledger Fabric API αŸ”
  • *.cds - αž€αŸ†αžŽαŸ‚αž…αž„αž€αŸ’αžšαž„αž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ
  • αž―αž€αžŸαžΆαžš *.json - αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Hyperledger Fabric API

αžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡!

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹