แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒ—แƒ•แƒแƒšแƒ”แƒ‘แƒ˜ แƒ’แƒ”แƒจแƒ˜แƒœแƒ˜แƒ แƒ“แƒ แƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ’แƒขแƒ™แƒ˜แƒ•แƒ!

แƒฌแƒ˜แƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜ (แƒ แƒ แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ— แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜?) แƒ“แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒ›แƒแƒ—แƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— (แƒ แƒแƒขแƒแƒ› แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ— แƒกแƒแƒฅแƒ›แƒ”?). แƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ! แƒžแƒ˜แƒšแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ PoC-แƒ˜แƒก (Proof of Concept) แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ›แƒ˜แƒ แƒฉแƒ”แƒ•แƒœแƒ˜แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒ›แƒแƒ—แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ แƒแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒ“แƒแƒ›แƒฆแƒšแƒ”แƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒฆแƒแƒช แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ“แƒ แƒ›แƒแƒ™แƒ แƒซแƒแƒšแƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ“แƒแƒ•แƒแƒ แƒฅแƒ•แƒแƒ— แƒ›แƒแƒก แƒ‘แƒ˜แƒขแƒ™แƒแƒ˜แƒœแƒ˜. แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— IBM แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒก แƒ“แƒ แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ  แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒก Hyperledger Fabric-แƒก. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒแƒ—, แƒ แƒแƒขแƒแƒ› แƒฐแƒฅแƒ•แƒ˜แƒ Hyperledger Fabric-แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜?

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

Hyperledger Fabric - แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ แƒ˜แƒก:

  • แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒแƒก;
  • แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒกแƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก/แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒแƒชแƒ˜แƒ˜แƒก, แƒแƒ•แƒ—แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ แƒ“แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜;
  • แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒ“แƒ แƒกแƒแƒแƒ แƒฅแƒ˜แƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒแƒ แƒ˜แƒก Hyperledger Fabric, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒแƒฅ แƒแƒœแƒšแƒแƒ˜แƒœแƒ˜แƒ“แƒ แƒ›แƒแƒ™แƒšแƒ”แƒ“, Hyperledger Fabric แƒแƒ แƒ˜แƒก แƒฆแƒ˜แƒ แƒฌแƒงแƒแƒ แƒแƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ™แƒ”แƒ แƒซแƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ JS แƒ“แƒ Go แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ”แƒ‘แƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— Hyperledger Fabric-แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ—, แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ. แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒ•แƒ”แƒšแƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜, แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ–แƒ” แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒแƒฆแƒฌแƒ”แƒ•แƒ”แƒœ แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒก แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฉแƒฃแƒ›แƒแƒ“ แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒแƒœ แƒฌแƒแƒจแƒšแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

Hyperledger แƒฅแƒกแƒแƒ•แƒ˜แƒšแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ

แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก Hyperledger Fabric แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ โ€” แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒ”แƒœ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒก, แƒ”.แƒ˜. แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ—. แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒแƒ แƒฎแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜.

แƒแƒ แƒฎแƒ˜ โ€” แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒก แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒก แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒแƒ“, แƒ”.แƒ˜. แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜. Hyperledger Fabric-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒแƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒ—.

แƒฌแƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ•แƒแƒ˜แƒ“แƒ”แƒ แƒ˜ (MSP) แƒแƒ แƒ˜แƒก CA (แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ) แƒžแƒ˜แƒ แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒชแƒ”แƒ›แƒ˜แƒกแƒ แƒ“แƒ แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— MSP-แƒก.

แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ - แƒ’แƒแƒ“แƒแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜, แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ˜แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก. แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒžแƒ˜แƒ แƒแƒ“แƒแƒ‘แƒ (แƒชแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒกแƒ”แƒ แƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ’แƒแƒกแƒชแƒ”แƒ›แƒก MSP. แƒ‘แƒ˜แƒขแƒ™แƒแƒ˜แƒœแƒ˜แƒก แƒแƒœ แƒ”แƒ—แƒ”แƒ แƒ˜แƒฃแƒ›แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒ•แƒแƒœแƒซแƒก แƒแƒฅแƒ•แƒก แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, Hyperledger Fabric-แƒจแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ แƒแƒšแƒก แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒœ:

  • แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘ แƒ›แƒแƒฌแƒแƒœแƒ”แƒ‘แƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒก (EP) แƒ“แƒ แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜.
  • แƒฉแƒแƒ“แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜ (CP) - แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜ แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ— โ€žแƒ›แƒกแƒแƒคแƒšแƒ˜แƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒโ€œ.
  • แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒžแƒ”แƒ”แƒ แƒ˜ (AP) - แƒ—แƒฃ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒแƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ™แƒแƒ›แƒฃแƒœแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒฃแƒœแƒ“แƒ แƒฐแƒงแƒแƒ•แƒ“แƒ”แƒก แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜. AP-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ—แƒแƒœแƒแƒขแƒแƒšแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ AP-แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒญแƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜.
  • แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒžแƒ”แƒ”แƒ  โ€” แƒ—แƒฃ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒฐแƒงแƒแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒแƒ แƒขแƒœแƒ˜แƒแƒ แƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก แƒ›แƒแƒ— แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒก. แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒแƒœ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒจแƒ”แƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ . แƒญแƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒ™แƒแƒšแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒšแƒ˜แƒ“แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜ - แƒกแƒฃแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒฅแƒ•แƒ— แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ–แƒ”. แƒฃแƒคแƒ แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ JSON แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ”แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜. แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ โ€žแƒ›แƒกแƒแƒคแƒšแƒ˜แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒกโ€œ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜ แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒแƒ“, แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜, แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒแƒชแƒ˜แƒแƒ, แƒ แƒแƒ› แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒก แƒฃแƒœแƒ“แƒ แƒฐแƒงแƒแƒ•แƒ“แƒ”แƒก แƒ›แƒคแƒšแƒแƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒ˜แƒงแƒแƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.

ledger โ€” แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ Blockchain-แƒ˜แƒกแƒ แƒ“แƒ Word-แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก. แƒ›แƒกแƒแƒคแƒšแƒ˜แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก LevelDB แƒแƒœ CouchDB.

แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ โ€” แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒฎแƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ. Hyperledger Fabric-แƒจแƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒก แƒฏแƒแƒญแƒ•แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ. แƒฏแƒแƒญแƒ•แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ—แƒ–แƒ” แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ JS แƒแƒœ Go แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ”แƒ‘แƒ–แƒ”.

แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ โ€” แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒฏแƒแƒญแƒ•แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒงแƒ”แƒœแƒแƒ— แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ•แƒ˜แƒกแƒ’แƒแƒœ. แƒ—แƒฃ แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒ: โ€žแƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒแƒก แƒแƒ แƒฎแƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ›แƒ แƒฌแƒ”แƒ•แƒ แƒ›แƒโ€œ. แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜:

  • แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ ;
  • แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒแƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒฌแƒ”แƒ•แƒ แƒ˜ แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜;
  • แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒแƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ.

แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ โ€” แƒแƒฌแƒงแƒแƒ‘แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒแƒ“ แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒ— แƒแƒ แƒฎแƒ˜แƒก แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ—แƒแƒœ. แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒแƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ แƒ”แƒฌแƒ•แƒ”แƒšแƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒคแƒ™แƒแƒก แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒแƒ™แƒ”แƒ แƒ˜, แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก SOLO.

CallFlow

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

  • แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒก Hyperledger Fabric-แƒ—แƒแƒœ Go, Node.js แƒแƒœ Java SDK-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—;
  • แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก tx แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒก แƒ˜แƒœแƒ“แƒแƒกแƒแƒœแƒขแƒ—แƒแƒœ;
  • แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ˜ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒแƒก, แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒแƒก แƒฃแƒ™แƒแƒœ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก. Chaincode แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒฃแƒš แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ–แƒ” แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ”แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒก. แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒแƒ› แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒก แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ PBFT (Practical Byzantine Fault Tolerant) แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ˜. แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒฃแƒ แƒ˜ BFT แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ แƒ˜แƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜แƒ แƒแƒ แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒกแƒ’แƒแƒœ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ;
  • แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ˜แƒœแƒ“แƒแƒกแƒแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒ˜แƒก แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒจแƒ˜;
  • แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒแƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒ‘แƒšแƒแƒ™แƒก แƒ“แƒ แƒฃแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒ›แƒแƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ” แƒ—แƒแƒœแƒแƒขแƒแƒšแƒก. แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒš แƒฉแƒแƒฌแƒ”แƒ แƒแƒก, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒแƒ•แƒก แƒ”.แƒฌ.แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ "แƒฉแƒแƒœแƒ’แƒแƒšแƒ”แƒ‘แƒ˜");
  • แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒ”แƒœ แƒ‘แƒšแƒแƒ™แƒก, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ”แƒœ แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒแƒก, แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒœ แƒ‘แƒšแƒแƒ™แƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒแƒœ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก "แƒ›แƒกแƒแƒคแƒšแƒ˜แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒ" DB-แƒจแƒ˜.

แƒ˜แƒ›แƒแƒ—. แƒ”แƒก แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒแƒคแƒแƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ”แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒก:

  • แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜ (chaincode) แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒœ แƒ—แƒแƒœแƒฎแƒ›แƒแƒ‘แƒแƒก. แƒ”แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ“แƒ”แƒœแƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ‘แƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒก แƒแƒ  แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ , แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒแƒœแƒ”แƒ‘แƒ˜แƒ—.
  • แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก แƒกแƒฌแƒ แƒแƒคแƒแƒ“. แƒ”แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ‘แƒšแƒแƒ™แƒก แƒ“แƒ แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒšแƒ˜แƒ“แƒ”แƒ  แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒก.
  • แƒ—แƒแƒœแƒแƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ“แƒ”แƒœแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒก แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก - แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒ“แƒ แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒ“แƒ˜แƒ“ แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒแƒก แƒ“แƒ แƒ›แƒงแƒ˜แƒกแƒ˜แƒ”แƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ Hyperledger Fabric-แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ“แƒ แƒ แƒแƒขแƒแƒ› แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒ’แƒ˜ แƒแƒกแƒ” แƒ“แƒ แƒแƒ แƒ แƒกแƒฎแƒ•แƒแƒ’แƒ•แƒแƒ แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒแƒฅ: แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒจแƒแƒ‘แƒ แƒแƒœ แƒแƒฅ: Hyperledger Fabric: แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒแƒกแƒ” แƒ แƒแƒ›, Hyperledger Fabric แƒแƒ แƒ˜แƒก แƒญแƒ”แƒจแƒ›แƒแƒ แƒ˜แƒขแƒแƒ“ แƒฃแƒœแƒ˜แƒ•แƒ”แƒ แƒกแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ—:

  • แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—;
  • แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒ“แƒแƒœ JSON แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜;
  • แƒ›แƒ˜แƒ”แƒชแƒ˜แƒ— แƒ“แƒ แƒ“แƒแƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ— API แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒกแƒ”แƒ แƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒขแƒ”แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒแƒฎแƒšแƒ, แƒ แƒแƒชแƒ แƒชแƒแƒขแƒแƒ—แƒ˜ แƒ’แƒแƒ•แƒ˜แƒ’แƒ”แƒ— Hyperledger Fabric-แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ!

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒแƒ›แƒแƒชแƒแƒœแƒแƒ Citcoin แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—: แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜, แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ‘แƒแƒšแƒแƒœแƒกแƒ˜, แƒจแƒ”แƒแƒ•แƒกแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜, แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒ“แƒแƒœ แƒ›แƒ”แƒแƒ แƒ”แƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฎแƒแƒขแƒแƒ— แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ— แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒจแƒ˜. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒก แƒ“แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก. แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ แƒแƒ แƒ˜แƒก Hyperledger Fabric แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ แƒ“แƒ แƒ“แƒฆแƒ”แƒ•แƒแƒœแƒ“แƒ”แƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ. แƒ•แƒ”แƒชแƒ“แƒ”แƒ‘แƒ˜ แƒœแƒแƒ—แƒšแƒแƒ“ แƒ“แƒแƒ•แƒฎแƒแƒขแƒ แƒ”แƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒ–แƒ”แƒ“แƒ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ โ€žแƒ›แƒกแƒแƒคแƒšแƒ˜แƒ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒกโ€œ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒ›แƒแƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒคแƒ˜แƒ’แƒฃแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜. แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒแƒฅแƒขแƒ˜แƒ•แƒ˜ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒ“แƒ แƒแƒฅแƒขแƒ˜แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก.

IBM Cloud

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒก IBM แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ˜. แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒก Pay-As-You-Go-แƒ–แƒ”. แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒงแƒแƒก แƒกแƒฌแƒ แƒแƒคแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ... IBM แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒฎแƒ”แƒšแƒ˜แƒ—. แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒ•แƒ—แƒฅแƒ•แƒ, แƒ แƒแƒ› IBM-แƒก แƒแƒฅแƒ•แƒก แƒ™แƒแƒ แƒ’แƒ˜ แƒกแƒแƒกแƒฌแƒแƒ•แƒšแƒ แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒแƒ— Hyperledger Fabric แƒ›แƒแƒ— แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜. แƒ›แƒแƒ›แƒ”แƒฌแƒแƒœแƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ แƒ“แƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜:

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ IBM Blockchain แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒก แƒ“แƒ”แƒ›แƒแƒœแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒ. แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ–แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ”แƒ แƒ— แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ›แƒแƒกแƒจแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก: Orderer CA, Org1 CA, Orderer Peer:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒ แƒฎแƒ˜ แƒ“แƒ แƒ“แƒแƒแƒ แƒฅแƒ•แƒ˜แƒ— citcoin:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ Channel แƒแƒ แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ˜แƒก แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒ— (แƒ’แƒ”แƒœแƒ”แƒ–แƒ˜แƒกแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜):

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ 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 แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ (maxAccounts = 5). แƒ“แƒ แƒแƒฅ แƒแƒ แƒ˜แƒก แƒฏแƒแƒ›แƒ˜ (แƒจแƒ”แƒ’แƒ˜แƒ›แƒฉแƒœแƒ”แƒ•แƒ˜แƒแƒ—?), แƒ แƒแƒช แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒฃแƒ—แƒแƒ•แƒ”แƒ‘แƒ”แƒš แƒ–แƒ แƒ“แƒแƒก. แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜)

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ— แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒก แƒแƒ แƒฎแƒจแƒ˜ แƒ“แƒ แƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก Smart Contract-แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ แƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒก IBM แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜. แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ“แƒ”แƒ›แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒ›แƒแƒ–แƒแƒœแƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” (แƒ“แƒแƒฌแƒ•แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜):

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

GUI-แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ Hyperledger Fabric API แƒ–แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

Hyperledger Fabric-แƒก แƒแƒฅแƒ•แƒก API, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก:

  • แƒแƒ แƒฎแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ;
  • แƒแƒ แƒฎแƒ—แƒแƒœ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜;
  • แƒแƒ แƒฎแƒ–แƒ” แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ;
  • แƒ“แƒแƒ แƒ”แƒ™แƒ•แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜;
  • แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ–แƒ”.

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ

แƒฉแƒ•แƒ”แƒœแƒก แƒ“แƒ”แƒ›แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— API-แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒแƒ แƒ”แƒ™แƒแƒ“ แƒ“แƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒกแƒแƒ—แƒฎแƒแƒ•แƒแƒ“, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜ IBM แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— GUI-แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒ˜ แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—: Express.js + Vue.js + Node.js. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒชแƒแƒšแƒ™แƒ” แƒกแƒขแƒแƒขแƒ˜แƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ. แƒแƒฅ แƒ“แƒแƒ•แƒขแƒแƒ•แƒ”แƒ‘ แƒšแƒ˜แƒœแƒ™แƒก แƒšแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒ”แƒขแƒแƒ“ แƒ›แƒแƒ›แƒ”แƒฌแƒแƒœแƒ: Full Stack แƒ•แƒ”แƒ‘ แƒแƒžแƒ˜ Vue.js แƒ“แƒ Express.js แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒšแƒ˜แƒ”แƒœแƒข-แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜ แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒ— Google-แƒ˜แƒก Material Design-แƒ˜แƒก แƒกแƒขแƒ˜แƒšแƒจแƒ˜. REST API แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒกแƒ แƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒจแƒแƒ แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ–แƒแƒ แƒ˜แƒกแƒ’แƒแƒœ:

  • HyperledgerDemo/v1/init - แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ;
  • HyperledgerDemo/v1/accounts/list โ€” แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒกแƒ˜แƒ;
  • HyperledgerDemo/v1/account?name=Bob&balance=100 โ€” แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ‘แƒแƒ‘ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜;
  • HyperledgerDemo/v1/info?account=Bob โ€” แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ‘แƒแƒ‘ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘;
  • HyperledgerDemo/v1/transaction?from=Bob&to=Alice&volume=2 - แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒแƒ แƒ˜ แƒ›แƒแƒœแƒ”แƒขแƒ แƒ‘แƒแƒ‘แƒ˜แƒ“แƒแƒœ แƒแƒšแƒ˜แƒกแƒแƒ–แƒ”;
  • HyperledgerDemo/v1/disconnect - แƒ“แƒแƒฎแƒฃแƒ แƒ”แƒ— แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ—แƒแƒœ.

API-แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— แƒคแƒแƒกแƒขแƒแƒšแƒ˜แƒแƒœแƒ˜แƒก แƒกแƒแƒ˜แƒขแƒ˜ - แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ HTTP API-แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“.

แƒ“แƒ”แƒ›แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ›แƒแƒ–แƒแƒœแƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒแƒ›แƒแƒ–แƒแƒœแƒ–แƒ” แƒแƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ... IBM-แƒ›แƒ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ แƒฉแƒ”แƒ›แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒแƒšแƒฃแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒ›แƒ”แƒœแƒจแƒ˜: www.citcoin.info. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก แƒชแƒแƒขแƒ แƒฎแƒœแƒ˜แƒ— แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ“แƒแƒ•แƒขแƒแƒ•แƒ”แƒ‘, แƒ›แƒ”แƒ แƒ” แƒ’แƒแƒ•แƒ—แƒ˜แƒจแƒแƒ•, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒฅแƒ˜แƒ แƒแƒ•แƒœแƒแƒ‘แƒ˜แƒก แƒชแƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒฌแƒ•แƒ”แƒ—แƒแƒ‘แƒก, แƒชแƒ˜แƒขแƒ™แƒแƒ˜แƒœแƒ˜แƒก แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ™แƒ˜ แƒฏแƒ”แƒ  แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒ‘แƒ˜แƒ แƒŸแƒแƒ–แƒ”) แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ“แƒ”แƒ›แƒ-แƒก แƒกแƒฅแƒ แƒ˜แƒœแƒจแƒแƒขแƒ”แƒ‘แƒก แƒ•แƒ“แƒ”แƒ‘, แƒ แƒแƒ› แƒกแƒแƒฅแƒ›แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒแƒก. แƒ“แƒ”แƒ›แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ:

  • แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ;
  • แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒฎแƒแƒš แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒจแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ›แƒ˜แƒฆแƒฌแƒ”แƒฃแƒšแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜);
  • แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ;
  • แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒชแƒ˜แƒขแƒ™แƒแƒ˜แƒœแƒ˜แƒก แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜ แƒแƒšแƒ˜แƒกแƒก, แƒ‘แƒแƒ‘แƒกแƒ แƒ“แƒ แƒแƒšแƒ”แƒฅแƒกแƒก แƒจแƒแƒ แƒ˜แƒก;
  • แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜ (แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ, แƒแƒกแƒ” แƒ แƒแƒ›, แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒแƒ›แƒ‘แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜);
  • แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜.

แƒฏแƒ”แƒ  แƒฉแƒ•แƒ”แƒœ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒก, แƒœแƒฃ แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ•แƒ— แƒ“แƒ แƒแƒก แƒ‘แƒแƒšแƒแƒœแƒกแƒ–แƒ”:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒ’แƒ–แƒแƒ•แƒœแƒก แƒ“แƒ แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒ— แƒ‘แƒแƒšแƒแƒœแƒกแƒก. แƒ—แƒฃ แƒ’แƒแƒ›แƒ’แƒ–แƒแƒ•แƒœแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ›แƒฆแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒ˜แƒกแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ แƒจแƒ”แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒ”แƒ›แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ—แƒแƒ. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒ“แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒกแƒ˜แƒ:

แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜: แƒ แƒ PoC แƒฃแƒœแƒ“แƒ แƒแƒ•แƒแƒจแƒ”แƒœแƒแƒ—?

แƒแƒ›แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— PoC-แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ Citcoin แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› Citcoin แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜? แฒซแƒแƒšแƒ˜แƒแƒœ แƒžแƒแƒขแƒแƒ แƒ:

  • แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ–แƒ”, แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— แƒžแƒ˜แƒ แƒแƒ“แƒ˜ / แƒกแƒแƒฏแƒแƒ แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒชแƒ˜แƒ. แƒžแƒ˜แƒ แƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒแƒœ, แƒกแƒแƒฏแƒแƒ แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜.
  • แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒ›แƒแƒœแƒ”แƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒแƒฏแƒแƒ แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒ แƒ แƒกแƒแƒฎแƒ”แƒšแƒ˜.
  • แƒ“แƒแƒจแƒ˜แƒคแƒ แƒ”แƒ— แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒ˜แƒ“แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ’แƒแƒœ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ›แƒ˜แƒกแƒ˜ แƒžแƒ˜แƒ แƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ— Citcoin แƒฅแƒกแƒ”แƒšแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—: แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜, แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒ‘แƒแƒšแƒแƒœแƒกแƒ˜, แƒจแƒ”แƒแƒ•แƒกแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜, แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ›แƒแƒœแƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜แƒ“แƒแƒœ แƒ›แƒ”แƒแƒ แƒ”แƒ–แƒ”. แƒ›แƒแƒจ, แƒ แƒ แƒ“แƒแƒ’แƒ•แƒ˜แƒฏแƒ“แƒ PoC-แƒ˜แƒก แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ?

  • แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒแƒ— แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒ˜ แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ“แƒ Hyperledger Fabric แƒ™แƒ”แƒ แƒซแƒแƒ“;
  • แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— IBM แƒแƒœ Amazon แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ;
  • แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— JS แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ”แƒ‘ แƒฉแƒแƒ แƒฉแƒ;
  • แƒ—แƒฃ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒแƒ แƒ แƒ‘แƒšแƒแƒ™แƒฉแƒ”แƒ˜แƒœแƒจแƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒชแƒแƒšแƒ™แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, PostgreSQL-แƒ—แƒแƒœ;
  • แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒแƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ - แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒชแƒฎแƒแƒ•แƒ แƒแƒ— แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜ Linux-แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”!)

แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒ แƒแƒ™แƒ”แƒขแƒ แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ!

แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ GitHub-แƒ–แƒ”

แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒ“แƒแƒแƒงแƒ”แƒœแƒ GitHub. แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ›แƒแƒ™แƒšแƒ” แƒแƒฆแƒฌแƒ”แƒ แƒ:
แƒ™แƒแƒขแƒแƒšแƒแƒ’แƒ˜ ยซแƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”ยป โ€” Node.js แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜
แƒ™แƒแƒขแƒแƒšแƒแƒ’แƒ˜ ยซแƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜ยป โ€” Node.js แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜
แƒ™แƒแƒขแƒแƒšแƒแƒ’แƒ˜ ยซblockchain"(แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ“แƒ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—):

  • แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ โ€” แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ™แƒแƒ“แƒ˜
  • แƒกแƒแƒคแƒฃแƒšแƒ” โ€” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ Hyperledger Fabric API-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.
  • *.cds - แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜
  • *.json แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ - แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜ Hyperledger Fabric API-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“

แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒ!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ