рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рддреБрдордЪреЗ рдбреЛрд│реЗ рдШрд╛рдмрд░рд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рддреБрдордЪреЗ рд╣рд╛рдд рдЦрд╛рдЬрдд рдЖрд╣реЗрдд!

рдорд╛рдЧреАрд▓ рд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдЬреНрдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдмреНрд▓реЙрдХрдЪреЗрди рдмрд╛рдВрдзрд▓реЗ рдЬрд╛рддрд╛рдд рддреНрдпрд╛рдмрд╛рдмрдд рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА (рдЖрдкрдг рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛рдп рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?) рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдорджрддреАрдиреЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЕрд╢реА рдкреНрд░рдХрд░рдгреЗ (рдЖрдореНрд╣реА рдХреЗрд╕ рдХрд╛ рдмрд╛рдВрдзрд╛рдпрдЪреА?). рдЖрдкрд▓реНрдпрд╛ рд╣рд╛рддрд╛рдВрдиреА рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ! рдкрд╛рдпрд▓рдЯ рдЖрдгрд┐ PoC (рдкреНрд░реВрдл рдСрдл рдХреЙрдиреНрд╕реЗрдкреНрдЯ) рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдврдЧ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рдзрд╛рдиреНрдп рджреЗрддреЛ, рдХрд╛рд░рдг... рддреЗ рдЬрдЧрд╛рддреАрд▓ рдХреЛрдареВрдирд╣реА рдорд┐рд│реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪрджрд╛, рдкрд░реНрдпрд╛рд╡рд░рдгрд╛рдЪреНрдпрд╛ рдХрдВрдЯрд╛рд│рд╡рд╛рдгреНрдпрд╛ рд╕реНрдерд╛рдкрдиреЗрд╡рд░ рд╡реЗрд│ рд╡рд╛рдпрд╛ рдШрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА, рдХрд╛рд░рдг рдкреНрд░реАрд╕реЗрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрд╣реЗрдд. рддрд░, рдЪрд▓рд╛ рдХрд╛рд╣реАрддрд░реА рд╕реЛрдкреЗ рдмрдирд╡реВ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд╣рднрд╛рдЧреАрдВрдордзреАрд▓ рдирд╛рдгреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдиреЗрдЯрд╡рд░реНрдХ рдЖрдгрд┐ рд╡рд┐рдирдореНрд░рдкрдгреЗ рддреНрдпрд╛рд▓рд╛ рдмрд┐рдЯрдХреЙрдЗрди рдореНрд╣рдгреВ рдпрд╛. рдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА IBM рдХреНрд▓рд╛рдЙрдб рдЖрдгрд┐ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рд╡рд╛рдкрд░реВ. рдкреНрд░рдердо, рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрд▓рд╛ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдореНрд╣рдгрддрд╛рдд рддреЗ рд╢реЛрдзреВрдпрд╛?

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ - рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдмреНрд▓реЙрдХрдЪреЗрди

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдорд╛рд╣рд┐рддреА рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ:

  • рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рдПрдХ рд╕рдВрдЪ рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдХреЛрд░ рдЬреЛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдХрд░рддреЛ;
  • рд╕рд┐рд╕реНрдЯрдорд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдЗрдВрдЯрд░рдлреЗрд╕;
  • рдЙрдкрдХрд░рдгреЗ/рд▓реЛрдХрд╛рдВрдЪреА рдиреЛрдВрджрдгреА, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рдЕрдзрд┐рдХреГрддрддрд╛ рдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ;
  • рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рдирд▓ рдЖрдгрд┐ рдЖрд░реНрдХрд╛рдЗрд╡реНрд╣рд▓ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреЗ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рдХрд╛рдп рдЖрд╣реЗ рдпрд╛рдЪреА рдЕрдзрд┐рдХреГрдд рдЖрд╡реГрддреНрддреА рдпреЗрдереЗ рд╡рд╛рдЪрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рд╕рд╛рдЗрдЯ, рдЖрдгрд┐ рдереЛрдбрдХреНрдпрд╛рдд, Hyperledger Fabric рд╣реЗ рдПрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рдЬрдЧреА рдмреНрд▓реЙрдХрдЪреЗрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ JS рдЖрдгрд┐ Go рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЪрд▓рд╛ рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХрдбреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдкрд╛рд╣реВ рдЖрдгрд┐ рдЦрд╛рддреНрд░реА рдХрд░рд╛ рдХреА рд╣реА рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдХреЗрд╡рд│ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрдгрд┐ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧрд╕рд╛рдареА рддрдкрд╢реАрд▓ рдЖрд╣реЗрдд. рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдбреЗрдЯрд╛, рд╕рд░реНрд╡ рдмреНрд▓реЙрдХрдЪреЗрдирдкреНрд░рдорд╛рдгреЗрдЪ, рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рдареЗрд╡рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХреНрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЗрд╡реНрд╣рд╛ рд╕рд╣рднрд╛рдЧреАрдВрдиреА рдПрдХрдордд рдХреЗрд▓реЗ рдЖрдгрд┐ рдбреЗрдЯрд╛ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рд╢рд╛рдВрддрдкрдгреЗ рджреБрд░реБрд╕реНрдд рдХрд┐рдВрд╡рд╛ рд╣рдЯрд╡рддрд╛ рдпреЗрдд рдирд╛рд╣реА.

рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░

рдЖрдХреГрддреА рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рджрд░реНрд╢рд╡рддреЗ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╕рдВрдШрдЯрдирд╛ тАФ рд╕рдВрд╕реНрдерд╛рдВрдордзреНрдпреЗ рд╕рдорд╡рдпрд╕реНрдХ рдЕрд╕рддрд╛рдд, рдЙрджрд╛. рд╕рдВрд╕реНрдерд╛рдВрдЪреНрдпрд╛ рд╕рдорд░реНрдердирд╛рдореБрд│реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ. рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕рдВрд╕реНрдерд╛ рдПрдХрд╛рдЪ рдЪреЕрдиреЗрд▓рдЪрд╛ рднрд╛рдЧ рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рдЪреЕрдиреЗрд▓ - рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд░рдЪрдирд╛ рдЬреА рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдЧрдЯрд╛рдВрдордзреНрдпреЗ рдПрдХрддреНрд░ рдХрд░рддреЗ, рдЙрджрд╛. рдмреНрд▓реЙрдХрдЪреЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рдПрдХрд╛рдЪ рд╡реЗрд│реА рд╡рд┐рд╡рд┐рдз рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рд╕рд╣ рдЕрдиреЗрдХ рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реВ рд╢рдХрддреЗ.

рд╕рджрд╕реНрдпрддрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ (MSP) рдУрд│рдЦ рдЬрд╛рд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рднреВрдорд┐рдХрд╛ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА CA (рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг) рдЖрд╣реЗ. рдиреЛрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ MSP рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.

рдкреАрдЕрд░ рдиреЛрдбреНрд╕ - рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рд╛, рдмреНрд▓реЙрдХрдЪреЗрди рд╕рдВрдЪрдпрд┐рдд рдХрд░рд╛, рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд╛. рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреА рдУрд│рдЦ (рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░) рдЕрд╕рддреЗ, рдЬреА MSP рджреНрд╡рд╛рд░реЗ рдЬрд╛рд░реА рдХреЗрд▓реА рдЬрд╛рддреЗ. рдмрд┐рдЯрдХреЙрдЗрди рдХрд┐рдВрд╡рд╛ рдЗрдерд░рд┐рдпрдо рдиреЗрдЯрд╡рд░реНрдХрдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рдереЗ рд╕рд░реНрд╡ рдиреЛрдбреНрд╕рдирд╛ рд╕рдорд╛рди рдЕрдзрд┐рдХрд╛рд░ рдЖрд╣реЗрдд, рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░рдордзреНрдпреЗ рдлреЕрдмреНрд░рд┐рдХ рдиреЛрдбреНрд╕ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рддрд╛рдд:

  • рд╕рд░рджрд╛рд░ рдХрджрд╛рдЪрд┐рдд рд╕рдорд╡рдпрд╕реНрдХ рд╕рдорд░реНрдерди (EP) рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд╛.
  • рд╡рдЪрдирдмрджреНрдз рд╕рдорд╡рдпрд╕реНрдХ (CP) - рдлрдХреНрдд рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рдбреЗрдЯрд╛ рдЬрддрди рдХрд░рд╛ рдЖрдгрд┐ тАЬрд╡рд░реНрд▓реНрдб рд╕реНрдЯреЗрдЯтАЭ рдЕрдкрдбреЗрдЯ рдХрд░рд╛.
  • рдЕрдБрдХрд░ рдкреАрд░ (рдПрдкреА) - рдЬрд░ рдЕрдиреЗрдХ рд╕рдВрд╕реНрдерд╛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рднрд╛рдЧ рдШреЗрддрд╛рдд, рддрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА рдЕрдБрдХрд░ рдкреАрдЕрд░реНрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдереЗрдордзреНрдпреЗ рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдЕрдБрдХрд░ рдкреАрдЕрд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. AP рд╡рд╛рдкрд░реВрди, рд╕рдВрд╕реНрдереЗрддреАрд▓ рдХреЛрдгрддрд╛рд╣реА рд╕рдорд╡рдпрд╕реНрдХ рдЗрддрд░ рд╕рдВрд╕реНрдерд╛рдВрдордзреАрд▓ рд╕рд░реНрд╡ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреА рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡реВ рд╢рдХрддреЛ. AP рджрд░рдореНрдпрд╛рди рдорд╛рд╣рд┐рддреА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдЧрдкрд╢рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓.
  • рдкреБрдврд╛рд░реА рдкреАрд░ - рдЬрд░ рдПрдЦрд╛рджреНрдпрд╛ рд╕рдВрд╕реНрдереЗрдХрдбреЗ рдЕрдиреЗрдХ рд╕рдорд╡рдпрд╕реНрдХ рдЕрд╕рддреАрд▓, рддрд░ рдХреЗрд╡рд│ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреНрдпрд╛ рдиреЗрддреНрдпрд╛рд▓рд╛ рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕реЗрд╡реЗрдХрдбреВрди рдмреНрд▓реЙрдХреНрд╕ рдорд┐рд│рддреАрд▓ рдЖрдгрд┐ рддреЗ рдЙрд░реНрд╡рд░рд┐рдд рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рджреЗрддреАрд▓. рдиреЗрддрд╛ рдПрдХрддрд░ рд╕реНрдерд┐рд░рдкрдгреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ рдХрд┐рдВрд╡рд╛ рд╕рдВрд╕реНрдереЗрддреАрд▓ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдХрдбреВрди рдЧрддрд┐рд╢реАрд▓рдкрдгреЗ рдирд┐рд╡рдбрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдЧреЙрд╕рд┐рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдиреЗрддреНрдпрд╛рдВрдЪреА рдорд╛рд╣рд┐рддреА рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдорд╛рд▓рдорддреНрддрд╛ тАФ рдЬреНрдпрд╛рдВрдЪреЗ рдореВрд▓реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрд╣реЗрдд. рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНтАНрдЯрдкрдгреЗ, рд╣рд╛ JSON рдлреЙрд░рдореЕрдЯрдордзреНтАНрдпреЗ рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдбреЗрдЯрд╛ рдЖрд╣реЗ. рд╣рд╛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рдПрдХ рдЗрддрд┐рд╣рд╛рд╕ рдЖрд╣реЗ, рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рд╕рджреНрдп рд╕реНрдерд┐рддреА рдЖрд╣реЗ, рдЬреЛ тАЬрд╡рд░реНрд▓реНрдб рд╕реНрдЯреЗрдЯтАЭ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрд╣реЗ. рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдпрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рддрдкрдгреЗ рднрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдХреЛрдгрддреЗрд╣реА рдЖрд╡рд╢реНрдпрдХ рдлреАрд▓реНрдб рдирд╛рд╣реАрдд, рдлрдХреНрдд рд╢рд┐рдлрд╛рд░рд╕ рдЕрд╢реА рдЖрд╣реЗ рдХреА рдорд╛рд▓рдорддреНрддреЗрдЪрд╛ рдорд╛рд▓рдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдореМрд▓реНрдпрд╡рд╛рди рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд▓реЗрдЬрд░ тАФ рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рд╡рд░реНрдб рд╕реНрдЯреЗрдЯ рдбреЗрдЯрд╛рдмреЗрд╕рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ, рдЬреЛ рдорд╛рд▓рдорддреНрддреЗрдЪреА рд╕рджреНрдпрд╕реНрдерд┐рддреА рд╕рд╛рдард╡рддреЛ. рдЬрд╛рдЧрддрд┐рдХ рд░рд╛рдЬреНрдп LevelDB рдХрд┐рдВрд╡рд╛ CouchDB рд╡рд╛рдкрд░рддреЗ.

рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ тАФ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕ рд╡рд╛рдкрд░реВрди, рд╕рд┐рд╕реНрдЯрдордЪреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдордзреНрдпреЗ, рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрд▓рд╛ рдЪреЗрдирдХреЛрдб рдореНрд╣рдгрддрд╛рдд. рдЪреЗрдирдХреЛрдб рд╡рд╛рдкрд░реВрди, рдорд╛рд▓рдорддреНрддрд╛ рдЖрдгрд┐ рддреНрдпрд╛рд╡рд░реАрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рддрд╛рдВрддреНрд░рд┐рдХ рднрд╛рд╖реЗрдд, рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕ рд╣реЗ рдЬреЗрдПрд╕ рдХрд┐рдВрд╡рд╛ рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдореЙрдбреНрдпреВрд▓ рдЖрд╣реЗрдд.

рд╕рдорд░реНрдерди рдзреЛрд░рдг тАФ рдкреНрд░рддреНрдпреЗрдХ рдЪреЗрдирдХреЛрдбрд╕рд╛рдареА, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рдХрд┐рддреА рдкреБрд╖реНрдЯреАрдХрд░рдгреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЛрдгрд╛рдХрдбреВрди рдпрд╛рд╡рд┐рд╖рдпреА рддреБрдореНрд╣реА рдзреЛрд░рдг рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛. рдзреЛрд░рдг рд╕реЗрдЯ рдХреЗрд▓реЗ рдирд╕рд▓реНрдпрд╛рд╕, рдбреАрдлреЙрд▓реНрдЯ рдЕрд╕реЗ рдЖрд╣реЗ: "рдЪреЕрдиреЗрд▓рдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рджрд╕реНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреА рдкреБрд╖реНрдЯреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ." рдзреЛрд░рдгрд╛рдВрдЪреА рдЙрджрд╛рд╣рд░рдгреЗ:

  • рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕ рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рд╢рд╛рд╕рдХрд╛рдиреЗ рдорд╛рдиреНрдпрддрд╛ рджрд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗ;
  • рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рджрд╕реНрдп рдХрд┐рдВрд╡рд╛ рдХреНрд▓рд╛рдпрдВрдЯрджреНрд╡рд╛рд░реЗ рдкреБрд╖реНрдЯреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  • рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рдорд╡рдпрд╕реНрдХ рд╕рдВрд╕реНрдереЗрджреНрд╡рд╛рд░реЗ рдкреБрд╖реНрдЯреА рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдСрд░реНрдбрд░ рд╕реЗрд╡рд╛ тАФ рд╡реНрдпрд╡рд╣рд╛рд░ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рдкреЕрдХ рдХрд░рддреЗ рдЖрдгрд┐ рдЪреЕрдиреЗрд▓рдордзреАрд▓ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдкрд╛рдард╡рддреЗ. рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реАрд▓ рд╕рд░реНрд╡ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдгрд╛рдЪреА рд╣рдореА рджреЗрддреЗ. рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░рдгрд╛рд▓реАрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдХрд╛рдлреНрдХрд╛ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓, рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рд╕реЛрд▓реЛ.

рдХреЙрд▓рдлреНрд▓реЛ

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

  • рдЕрдиреБрдкреНрд░рдпреЛрдЧ Go, Node.js рдХрд┐рдВрд╡рд╛ Java SDK рд╡рд╛рдкрд░реВрди рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЛ;
  • рдХреНрд▓рд╛рдпрдВрдЯ tx рд╡реНрдпрд╡рд╣рд╛рд░ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рддреЛ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдкрд╛рдард╡рддреЛ;
  • рдкреАрдЕрд░ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрдЪреА рдкрдбрддрд╛рд│рдгреА рдХрд░рддреЛ, рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реНрдг рдХрд░рддреЛ рдЖрдгрд┐ рд╕рдорд░реНрдердирд╛рдЪреА рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкрд░рдд рдкрд╛рдард╡рддреЛ. рдЪреЗрдирдХреЛрдб рдХреЗрд╡рд│ рд╕рдорд░реНрдерди рдХрд░рдгрд╛рд▒реНрдпрд╛ рдкреАрдЕрд░рд╡рд░рдЪ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рд░реНрд╡ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рддреЛ. рдХрд╛рдорд╛рдЪреНрдпрд╛ рдпрд╛ рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд▓рд╛ рдкреАрдмреАрдПрдлрдЯреА (рдкреНрд░реЕрдХреНрдЯрд┐рдХрд▓ рдмрд╛рдпрдЭрдБрдЯрд╛рдЗрди рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░рдВрдЯ) рдПрдХрдордд рдЕрд╕реЗ рдореНрд╣рдгрддрд╛рдд. рдЪреНрдпрд╛рдкрд╛рд╕реБрди рд╡реЗрдЧрд│реЗ рдХреНрд▓рд╛рд╕рд┐рдХ BFT рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рд┐рд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдкреБрд╖реНрдЯреАрдХрд░рдг рд╕рд░реНрд╡ рд╕рд╣рднрд╛рдЧреАрдВрдХрдбреВрди рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХреЗрд╡рд│ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рдХрдбреВрди рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗ;
  • рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рдорд░реНрдерди рдзреЛрд░рдгрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рддреЛ рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕реЗрд╡реЗрдХрдбреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд╛рдард╡рддреЛ;
  • рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдмреНрд▓реЙрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддреЗ рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрдорд┐рдЯрд┐рдВрдЧ рдкреАрдЕрд░реНрд╕рдирд╛ рдкрд╛рдард╡рддреЗ. рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдмреНрд▓реЙрдХреНрд╕рдЪреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ, рдЬреЗ рддрдерд╛рдХрдерд┐рдд рд▓реЗрдЬрд░ рдлреЛрд░реНрдХ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЗ ("рдХрд╛рдЯреЗ" рд╡рд┐рднрд╛рдЧ рдкрд╣рд╛);
  • рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдПрдХ рдмреНрд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ, рд╕рдорд░реНрдерди рдзреЛрд░рдг рдкреБрдиреНрд╣рд╛ рддрдкрд╛рд╕рд╛, рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рдмреНрд▓реЙрдХ рд▓рд┐рд╣рд╛ рдЖрдгрд┐ "рдЬрд╛рдЧрддрд┐рдХ рд░рд╛рдЬреНрдп" DB рдордзреНрдпреЗ рд╕реНрдерд┐рддреА рдмрджрд▓рд╛.

рддреНрдпрд╛. рдпрд╛рдореБрд│реЗ рдиреЛрдбреНрд╕рдордзреАрд▓ рднреВрдорд┐рдХрд╛рдВрдЪреЗ рд╡рд┐рднрд╛рдЬрди рд╣реЛрддреЗ. рд╣реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рдХреА рдмреНрд▓реЙрдХрдЪреЗрди рд╕реНрдХреЗрд▓реЗрдмрд▓ рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ:

  • рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ (рдЪреЗрдирдХреЛрдб) рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛рдд. рд╣реЗ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░рд╛рдВрдЪреА рдЧреЛрдкрдиреАрдпрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ, рдХрд╛рд░рдг рд╣реЗ рд╕рд░реНрд╡ рд╕рд╣рднрд╛рдЧреАрдВрджреНрд╡рд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХреЗрд╡рд│ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдирд╛ рдорд╛рдиреНрдпрддрд╛ рджреЗрдКрди.
  • рдСрд░реНрдбрд░ рддреНрд╡рд░реАрдд рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ. рдСрд░реНрдбрд░рд┐рдВрдЧ рдХреЗрд╡рд│ рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╡рддреЗ рдЖрдгрд┐ рд▓реАрдбрд░ рд╕рдорд╡рдпрд╕реНрдХрд╛рдВрдЪреНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЪрд╛рд▓рд╛ рдкрд╛рдард╡рддреЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрджреНрд╡рд╛рд░реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХреЗрд▓реА рдЬрд╛рддреЗ.
  • рд╡рдЪрдирдмрджреНрдз рд╕рдорд╡рдпрд╕реНрдХ рдлрдХреНрдд рдмреНрд▓реЙрдХрдЪреЗрди рд╕рдВрдЪрдпрд┐рдд рдХрд░рддрд╛рдд - рддреНрдпрд╛рдкреИрдХреА рдмрд░реЗрдЪ рдЕрд╕реВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдЦреВрдк рд╢рдХреНрддреА рдЖрдгрд┐ рддреНрд╡рд░рд┐рдд рдСрдкрд░реЗрд╢рдирдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рддреЗ.

рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рдЖрдгрд┐ рддреЗ рдЕрд╕реЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдЕрдиреНрдпрдерд╛ рдирд╛рд╣реА рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ: рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореВрд│ рдХрд┐рдВрд╡рд╛ рдпреЗрдереЗ: рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ: рдкрд░рд╡рд╛рдирдЧреА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХрдЪреЗрдиреНрд╕рд╕рд╛рдареА рд╡рд┐рддрд░рд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо.

рддрд░, рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рд╣реА рдЦрд░реЛрдЦрд░рдЪ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреБрдореНрд╣реА рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛:

  • рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд░рд╛;
  • рдмреНрд▓реЙрдХрдЪреЗрди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди JSON рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рд░реЗрдХреЙрд░реНрдб рдХрд░рд╛ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рд╛;
  • рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд╛рдкрд░реВрди API рдкреНрд░рд╡реЗрд╢ рдордВрдЬреВрд░ рдХрд░рд╛ рдЖрдгрд┐ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рд╛.

рдЖрддрд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдмрджреНрджрд▓ рдереЛрдбреЗрд╕реЗ рд╕рдордЬрд▓реЗ рдЖрд╣реЗ, рдЪрд▓рд╛ рд╢реЗрд╡рдЯреА рдХрд╛рд╣реАрддрд░реА рдЙрдкрдпреБрдХреНрдд рдХрд░реВрдпрд╛!

рдмреНрд▓реЙрдХрдЪреЗрди рддреИрдирд╛рдд рдХрд░рдд рдЖрд╣реЗ

рд╕рдорд╕реНрдпреЗрдЪреА рдирд┐рд░реНрдорд┐рддреА

рдЦрд╛рд▓реАрд▓ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣ Citcoin рдиреЗрдЯрд╡рд░реНрдХрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рд╣реЗ рдХрд╛рд░реНрдп рдЖрд╣реЗ: рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рд╛, рд╢рд┐рд▓реНрд▓рдХ рдорд┐рд│рд╡рд╛, рддреБрдордЪреЗ рдЦрд╛рддреЗ рдЯреЙрдк рдЕрдк рдХрд░рд╛, рдПрдХрд╛ рдЦрд╛рддреНрдпрд╛рддреВрди рджреБрд╕рд▒реНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдд рдирд╛рдгреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛. рдЪрд▓рд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреЗрд▓ рдХрд╛рдвреВ, рдЬреЗ рдЖрдореНрд╣реА рдкреБрдвреЗ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░реВ. рддрд░, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдирд╛рд╡рд╛рдВрджреНрд╡рд╛рд░реЗ рдУрд│рдЦрд▓реА рдЬрд╛рдгрд╛рд░реА рдЖрдгрд┐ рд╢рд┐рд▓реНрд▓рдХ рдЕрд╕рд▓реЗрд▓реА рдЦрд╛рддреА рдЖрдгрд┐ рдЦрд╛рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдЕрд╕реЗрд▓. рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рдорд╛рд▓рдорддреНрддреЗрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдЦрд╛рддреА рдЖрдгрд┐ рдЦрд╛рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдЖрд╣реЗ. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рддреНрдпрд╛рдВрдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рдЖрд╣реЗ. рдореА рд╣реЗ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдХрд╛рдврдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╢реАрд░реНрд╖ рдЖрдХрдбреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рдЖрд╣реЗрдд, рдЬреА "рдЬрд╛рдЧрддрд┐рдХ рд░рд╛рдЬреНрдп" рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЦрд╛рд▓реА рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЗрддрд┐рд╣рд╛рд╕ рджрд░реНрд╢рд╡рд┐рдгрд╛рд░реЗ рдЖрдХрдбреЗ рдЖрд╣реЗрдд. рдорд╛рд▓рдорддреНрддреЗрдЪреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрджреНрд╡рд╛рд░реЗ рдмрджрд▓рд▓реА рдЬрд╛рддреЗ. рдорд╛рд▓рдорддреНрддрд╛ рдХреЗрд╡рд│ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдмрджрд▓рддреЗ, рдореНрд╣рдгреВрди рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА, рдПрдХ рдирд╡реАрди рд╡рд╕реНрддреВ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдорд╛рд▓рдорддреНрддреЗрдЪреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдЗрддрд┐рд╣рд╛рд╕рд╛рдд рдЬрд╛рддреЗ.

IBM рдХреНрд▓рд╛рдЙрдб

рдЖрдореНрд╣реА рдордзреНрдпреЗ рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рддреЛ IBM рдореЗрдШ. рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреЗ Pay-As-You-Go рд╡рд░ рдЕрдкрдЧреНрд░реЗрдб рдХреЗрд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд▓рдж рд╣реЛрдК рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг... IBM рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рддреЗ рдЖрдгрд┐ рддреА рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ. рд╕рдХрд╛рд░рд╛рддреНрдордХрддреЗрд╡рд░, рдореА рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА IBM рдХрдбреЗ рдЪрд╛рдВрдЧрд▓реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рд╣рд┐рддреНрдп рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ рддреИрдирд╛рдд рдХрд░реВ рджреЗрддреЗ. рдорд▓рд╛ рдЦрд╛рд▓реАрд▓ рд▓реЗрдЦ рдЖрдгрд┐ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреА рдорд╛рд▓рд┐рдХрд╛ рдЖрд╡рдбрд▓реА:

рдЦрд╛рд▓реАрд▓ IBM рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЖрд╣реЗрдд. рд╣реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рдпрд╛рд╡рд░реАрд▓ рд╕реВрдЪрдирд╛ рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╛рдкреНрддреАрдЪреЗ рдлрдХреНрдд рдПрдХ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдЖрд╣реЗ. рддрд░, рдЖрдордЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдВрд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХ рд╕рдВрд╕реНрдерд╛ рдмрдирд╡рддреЛ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЖрдореНрд╣реА рддреНрдпрд╛рдд рдиреЛрдбреНрд╕ рддрдпрд╛рд░ рдХрд░рддреЛ: рдСрд░реНрдбрд░рд░ CA, Org1 CA, Orderer Peer:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреЗ рддрдпрд╛рд░ рдХрд░рддреЛ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдПрдХ рдЪреЕрдирд▓ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рддреНрдпрд╛рд▓рд╛ citcoin рдореНрд╣рдгрд╛:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдореВрд▓рдд: рдЪреЕрдирд▓ рдПрдХ рдмреНрд▓реЙрдХрдЪреЗрди рдЖрд╣реЗ, рдореНрд╣рдгреВрди рддреЗ рдмреНрд▓реЙрдХ рд╢реВрдиреНрдп (рдЬреЗрдиреЗрд╕рд┐рд╕ рдмреНрд▓реЙрдХ) рдиреЗ рд╕реБрд░реВ рд╣реЛрддреЗ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рд▓рд┐рд╣рд┐рдгреЗ

/*
 * 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;

рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдирд╛рдиреЗ, рдпреЗрдереЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реНрдкрд╖реНрдЯ рдЕрд╕рд╛рд╡реЗ:

  • рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ API рд╡рд╛рдкрд░реВрди рдХреЙрд▓ рдХрд░реЗрд▓ рдЕрд╢реА рдЕрдиреЗрдХ рдлрдВрдХреНрд╢рдиреНрд╕ (AddAccount, GetAccounts, SendFrom, GetBalance, RefillBalance) рдЖрд╣реЗрдд.
  • SendFrom рдЖрдгрд┐ RefillBalance рдлрдВрдХреНрд╢рдиреНрд╕ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдгрд╛рд░реЗ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдд.
  • рдЬреЗрд╡реНрд╣рд╛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдЗрдиреНрд╕реНрдЯрдВрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рддреЗрд╡реНрд╣рд╛ рдЗрдиреНрд╕реНрдЯрдВрдЯ рдлрдВрдХреНрд╢рди рдПрдХрджрд╛ рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдЦрд░рдВ рддрд░, рд╣реЗ рдлрдХреНрдд рдПрдХрджрд╛рдЪ рдирд╛рд╣реА рддрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдЖрд╡реГрддреНрддреА рдмрджрд▓рддреЗ рдЕрд╕реЗ рдореНрд╣рдЯрд▓реЗ рдЬрд╛рддреЗ. рдореНрд╣рдгреВрди, рд░рд┐рдХреНрдд рдЕреЕрд░реЗрд╕рд╣ рд╕реВрдЪреА рд╕реБрд░реВ рдХрд░рдгреЗ рд╣реА рд╡рд╛рдИрдЯ рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ, рдХрд╛рд░рдг рдЖрддрд╛, рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░рд╛рдЪреА рдЖрд╡реГрддреНрддреА рдмрджрд▓рддреЛ, рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рд╕рдзреНрдпрд╛рдЪреА рдпрд╛рджреА рдЧрдорд╛рд╡реВ. рдкрдг рд╣реЗ рдареАрдХ рдЖрд╣реЗ, рдореА рдлрдХреНрдд рд╢рд┐рдХрдд рдЖрд╣реЗ).
  • рдЦрд╛рддреА рдЖрдгрд┐ рдЦрд╛рддреНрдпрд╛рдВрдЪреА рд╕реВрдЪреА рдореНрд╣рдгрдЬреЗ JSON рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕. рдЬреЗрдПрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдбреЗрдЯрд╛ рдореЕрдирд┐рдкреБрд▓реЗрд╢рдирд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
  • рддреБрдореНрд╣реА getState рдлрдВрдХреНрд╢рди рдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдорд╛рд▓рдорддреНрддреЗрдЪреЗ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдорд┐рд│рд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдкреБрдЯрд╕реНрдЯреЗрдЯ рд╡рд╛рдкрд░реВрди рддреЗ рдЕрдкрдбреЗрдЯ рдХрд░реВ рд╢рдХрддрд╛.
  • рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, AddAccount рдлрдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдЦрд╛рддреНрдпрд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ (maxAccounts = 5). рдЖрдгрд┐ рдЗрдереЗ рдПрдХ рдардкреНрдк рдЖрд╣реЗ (рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ рдХрд╛?), рдЬреНрдпрд╛рдореБрд│реЗ рдЦрд╛рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдд рдЕрдВрддрд╣реАрди рд╡рд╛рдв рд╣реЛрддреЗ. рдЕрд╢рд╛ рдЪреБрдХрд╛ рдЯрд╛рд│рд╛рд╡реНрдпрд╛рдд)

рдкреБрдвреЗ, рдЖрдореНрд╣реА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдЪреЕрдиреЗрд▓рдордзреНрдпреЗ рд▓реЛрдб рдХрд░рддреЛ рдЖрдгрд┐ рддреЗ рдЗрдиреНрд╕реНрдЯрдВрдЯ рдХрд░рддреЛ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареАрдЪреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд╛рд╣реВ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЪрд▓рд╛ рдЖрдордЪреНрдпрд╛ рдЪреЕрдиреЗрд▓рдмрджреНрджрд▓ рддрдкрд╢реАрд▓ рдкрд╛рд╣реВ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ IBM рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХрдЪреЗ рдЦрд╛рд▓реАрд▓ рдЪрд┐рддреНрд░ рдорд┐рд│рддреЗ. рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕреЕрдореЗрдЭреЙрди рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░рд╛ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреЗрдЦреАрд▓ рдЖрдХреГрддреА рджрд╛рдЦрд╡рддреЗ (рддреНрдпрд╛рдмрджреНрджрд▓ рдкреБрдвреАрд▓ рд╡рд┐рднрд╛рдЧрд╛рдд рдЕрдзрд┐рдХ):

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

Hyperledger Fabric API рдХреЙрд▓рд╕рд╛рдареА GUI рддрдпрд╛рд░ рдХрд░рдгреЗ

рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдордзреНрдпреЗ API рдЖрд╣реЗ рдЬреЗ рдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ:

  • рдЪреЕрдиреЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛;
  • рдХрдиреЗрдХреНрд╢рди рдЪреЕрдиреЗрд▓ рдкреАрдЕрд░;
  • рдЪреЕрдиреЗрд▓рдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдЪреА рд╕реНрдерд╛рдкрдирд╛ рдЖрдгрд┐ рдЗрдиреНрд╕реНрдЯрдВрдЯреЗрд╢рди;
  • рдХреЙрд▓рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░;
  • рдмреНрд▓реЙрдХрдЪреЗрдирд╡рд░ рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рд╛.

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕

рдЖрдордЪреНрдпрд╛ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рдЖрдореНрд╣реА API рдЪрд╛ рд╡рд╛рдкрд░ рдлрдХреНрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░реВ, рдХрд╛рд░рдг рдЖрдореНрд╣реА IBM рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡рд╛рдкрд░реВрди рдЙрд░реНрд╡рд░рд┐рдд рдкрд╛рдпрд▒реНрдпрд╛ рдЖрдзреАрдЪ рдкреВрд░реНрдг рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд. рдЖрдореНрд╣реА рдорд╛рдирдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕реНрдЯреЕрдХ рд╡рд╛рдкрд░реВрди GUI рд▓рд┐рд╣рд┐рддреЛ: Express.js + Vue.js + Node.js. рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХрд╕реЗ рдмрдирд╡рд╛рдпрдЪреЗ рдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣реА рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦ рд▓рд┐рд╣реВ рд╢рдХрддрд╛. рдорд▓рд╛ рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рдЖрд╡рдбрд▓реЗрд▓реНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдирд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪреА рд▓рд┐рдВрдХ рдореА рдпреЗрдереЗ рджреЗрдд рдЖрд╣реЗ: Vue.js рдЖрдгрд┐ Express.js рд╡рд╛рдкрд░реВрди рдкреВрд░реНрдг рд╕реНрдЯреЕрдХ рд╡реЗрдм рдЕреЕрдк. рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгрдЬреЗ Google рдЪреНрдпрд╛ рдордЯреЗрд░рд┐рдпрд▓ рдбрд┐рдЭрд╛рдЗрди рд╢реИрд▓реАрдордзреНрдпреЗ рдкрд░рд┐рдЪрд┐рдд рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╣ рдХреНрд▓рд╛рдпрдВрдЯ-рд╕рд░реНрд╡реНрд╣рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ. рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ 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. рдореА рдХрд╛рд╣реА рдХрд╛рд│ рд╕рд░реНрд╡реНрд╣рд░ рдЪрд╛рд▓реВ рдареЗрд╡рддреЛ, рдирдВрддрд░ рддреЛ рдмрдВрдж рдХрд░рддреЛ, рдХрд╛рд░рдг... рднрд╛рдбреНрдпрд╛рдЪреЗ рд╕реЗрдВрдЯ рдЯрдкрдХрдд рдЖрд╣реЗрдд, рдЖрдгрд┐ citcoin рдирд╛рдгреА рдЕрджреНрдпрд╛рдк рд╕реНрдЯреЙрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬрдордзреНрдпреЗ рд╕реВрдЪреАрдмрджреНрдз рдирд╛рд╣реАрдд) рдореА рд▓реЗрдЦрд╛рддреАрд▓ рдбреЗрдореЛрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдд рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдХрд╛рдорд╛рдЪреЗ рддрд░реНрдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдИрд▓. рдбреЗрдореЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЗ рдХрд░реВ рд╢рдХрддреЛ:

  • рдмреНрд▓реЙрдХрдЪреЗрди рд╕реБрд░реВ рдХрд░рд╛;
  • рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рд╛ (рдкрд░рдВрддреБ рдЖрддрд╛ рддреБрдореНрд╣реА рдирд╡реАрди рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдВрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рдкреЛрд╣реЛрдЪрд▓реА рдЖрд╣реЗ);
  • рдЦрд╛рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдкреНрд░рд╛рдкреНрдд рдХрд░рд╛;
  • рдЕреЕрд▓рд┐рд╕, рдмреЙрдм рдЖрдгрд┐ рдЕреЕрд▓реЗрдХреНрд╕ рджрд░рдореНрдпрд╛рди citcoin рдирд╛рдгреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛;
  • рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рд╛ (рдкрд░рдВрддреБ рдЖрддрд╛ рдЗрд╡реНрд╣реЗрдВрдЯ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рдорд╛рд░реНрдЧ рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рд╕рд╛рдзреЗрдкрдгрд╛рд╕рд╛рдареА, рдЗрдВрдЯрд░рдлреЗрд╕ рдореНрд╣рдгрддреЛ рдХреА рдЗрд╡реНрд╣реЗрдВрдЯ рд╕рдорд░реНрдерд┐рдд рдирд╛рд╣реАрдд);
  • рд▓реЙрдЧ рдХреНрд░рд┐рдпрд╛.

рдкреНрд░рдердо рдЖрдореНрд╣реА рдмреНрд▓реЙрдХрдЪреЗрди рд╕реБрд░реВ рдХрд░рддреЛ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдкреБрдвреЗ, рдЖрдореНрд╣реА рдЖрдордЪреЗ рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рддреЛ, рд╢рд┐рд▓реНрд▓рдХ рд╕рд╣ рд╡реЗрд│ рд╡рд╛рдпрд╛ рдШрд╛рд▓рд╡реВ рдирдХрд╛:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдЦрд╛рддреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│рддреЗ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЖрдореНрд╣реА рдкреНрд░реЗрд╖рдХ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреА рд╢рд┐рд▓реНрд▓рдХ рдорд┐рд│рд╡рддреЛ. рдкреНрд░реЗрд╖рдХ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕рдорд╛рди рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдЪреЗ рдЦрд╛рддреЗ рдкреБрдиреНрд╣рд╛ рднрд░рд▓реЗ рдЬрд╛рдИрд▓:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд▓реЙрдЧрдордзреНрдпреЗ рдЖрдореНрд╣реА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рд╣реЗ рд╕рд░реНрд╡ рдЖрд╣реЗ. рдЦрд╛рд▓реА рддреБрдореНрд╣реА рдЖрдордЪрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдЖрдгрд┐ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреА рд╕рд╛рдорд╛рдиреНрдп рдпрд╛рджреА:

рдмреНрд▓реЙрдХрдЪреЗрди: рдЖрдкрдг рдХреЛрдгрддреЗ рдкреАрдУрд╕реА рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ?

рдпрд╛рд╕рд╣, рдЖрдореНрд╣реА Citcoin рдиреЗрдЯрд╡рд░реНрдХ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА PoC рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдХреЗрд▓реА рдЖрд╣реЗ. рдирд╛рдгреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Citcoin рдПрдХ рдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХ рдмрдирдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрдЦреА рдХрд╛рдп рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ? рдлрд╛рд░ рдереЛрдбреЗ:

  • рдЦрд╛рддреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдЦрд╛рдЬрдЧреА/рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рддрдпрд╛рд░ рдХрд░рдгреЗ рд▓рд╛рдЧреВ рдХрд░рд╛. рдЦрд╛рдЬрдЧреА рдХреА рдЦрд╛рддреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдХрдбреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  • рдирд╛рдгреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд░рд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдирд╛рд╡рд╛рдРрд╡рдЬреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ.
  • рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдХрдбреВрди рд╕рд░реНрд╡реНрд╣рд░рдХрдбреЗ рдЬрд╛рдгрд╛рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдЦрд╛рдЬрдЧреА рдХреА рд╡рд╛рдкрд░реВрди рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рд╛.

рдирд┐рд╖реНрдХрд░реНрд╖

рдЖрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣ Citcoin рдиреЗрдЯрд╡рд░реНрдХ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗ: рдЦрд╛рддреЗ рдЬреЛрдбрд╛, рд╢рд┐рд▓реНрд▓рдХ рдорд┐рд│рд╡рд╛, рддреБрдордЪреЗ рдЦрд╛рддреЗ рдЯреЙрдк рдЕрдк рдХрд░рд╛, рдПрдХрд╛ рдЦрд╛рддреНрдпрд╛рддреВрди рджреБрд╕рд▒реНрдпрд╛ рдЦрд╛рддреНрдпрд╛рдд рдирд╛рдгреА рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рд╛. рддрд░, PoC рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рдЦрд░реНрдЪ рдЖрд▓рд╛?

  • рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖рддрдГ рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  • IBM рдХрд┐рдВрд╡рд╛ Amazon рдврдЧ рд╡рд╛рдкрд░рд╛рдпрд▓рд╛ рд╢рд┐рдХрд╛;
  • JS рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрдгрд┐ рдХрд╛рд╣реА рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛;
  • рдХрд╛рд╣реА рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рдирд╛рд╣реА рддрд░ рд╡реЗрдЧрд│реНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдирдВрддрд░ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреЗ рд╢рд┐рдХрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, PostgreSQL рд╕рд╣;
  • рдЖрдгрд┐ рд╢реЗрд╡рдЯрдЪреЗ рдкрд░рдВрддреБ рдХрд┐рдорд╛рди рдирд╛рд╣реА - рдЖрдкрдг рд▓рд┐рдирдХреНрд╕рдЪреНрдпрд╛ рдЬреНрдЮрд╛рдирд╛рд╢рд┐рд╡рд╛рдп рдЖрдзреБрдирд┐рдХ рдЬрдЧрд╛рдд рдЬрдЧреВ рд╢рдХрдд рдирд╛рд╣реА!)

рдЕрд░реНрдерд╛рдд, рд╣реЗ рд░реЙрдХреЗрдЯ рд╡рд┐рдЬреНрдЮрд╛рди рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдареЛрд░ рдкрд░рд┐рд╢реНрд░рдо рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓!

GitHub рд╡рд░ рд╕реНрд░реЛрдд

рд╕реВрддреНрд░реЗ рд▓рд╛рд╡рд▓реА GitHub. рднрд╛рдВрдбрд╛рд░рд╛рдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди:
рдХреЕрдЯрд▓реЙрдЧ ┬лрд╕рд░реНрд╡реНрд╣рд░┬╗ тАФ Node.js рд╕рд░реНрд╡реНрд╣рд░
рдХреЕрдЯрд▓реЙрдЧ ┬лрдХреНрд▓рд╛рдпрдВрдЯ┬╗ тАФ Node.js рдХреНрд▓рд╛рдпрдВрдЯ
рдХреЕрдЯрд▓реЙрдЧ ┬лblockchain"(рдкреЕрд░рд╛рдореАрдЯрд░ рдореВрд▓реНрдпреЗ рдЖрдгрд┐ рдХреА, рдЕрд░реНрдерд╛рддрдЪ, рдХрд╛рд░реНрдпрд░рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдлрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рджрд┐рд▓реНрдпрд╛ рдЖрд╣реЗрдд):

  • рдХрд░рд╛рд░ тАФ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рд╕реНрд░реЛрдд рдХреЛрдб
  • рд╡реЙрд▓реЗрдЯ тАФ рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ API рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХреА.
  • *.cds - рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░рд╛рдЪреНрдпрд╛ рд╕рдВрдХрд▓рд┐рдд рдЖрд╡реГрддреНрддреНрдпрд╛
  • *.json рдлрд╛рдЗрд▓реНрд╕ - рд╣рд╛рдпрдкрд░рд▓реЗрдЬрд░ рдлреЕрдмреНрд░рд┐рдХ API рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ

рд╣реА рдлрдХреНрдд рд╕реБрд░реБрд╡рд╛рдд рдЖрд╣реЗ!

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛