рдмреНрд▓реЙрдХрдЪреЗрди: рд╣рдореЗрдВ рдкреАрдУрд╕реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЖрдБрдЦреЗрдВ рдбрд░рддреА рд╣реИрдВ, рдФрд░ рд╣рд╛рде рдЦреБрдЬрд▓реА рдХрд░рддреЗ рд╣реИрдВ!

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдЙрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдЬрд┐рди рдкрд░ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? ) рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдЬрд┐рдирдХреА рдорджрдж рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ( рд╣рдореЗрдВ рдПрдХ рдХреЗрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? )ред рдЕрдм рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдкрд╛рдпрд▓рдЯреЛрдВ рдФрд░ рдкреАрдУрд╕реА (рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╕рдмреВрдд) рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдмрд╛рджрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░, рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдердХрд╛рдК рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рд╕рдордп рд╡реНрдпрддреАрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИрдВред рддреЛ, рдЪрд▓реЛ рдХреБрдЫ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд┐рдХреНрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЗрд╕реЗ рдорд╛рдореВрд▓реА Citcoin рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрдИрдмреАрдПрдо рдХреНрд▓рд╛рдЙрдб рдФрд░ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреЛ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрдпреЛрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ - рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмреНрд▓реЙрдХрдЪреЗрди


рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рд╣реИ:

  • рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛрд░ рдЬреЛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХрд░рддрд╛ рд╣реИ;
  • рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕;
  • рдЙрдкрдХрд░рдгреЛрдВ / рд▓реЛрдЧреЛрдВ рдХреЗ рдкрдВрдЬреАрдХрд░рдг, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдзрди;
  • рд╕рдВрдЪрд╛рд▓рди рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛рдмреЗрд╕:

рдЫрд╡рд┐

рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рд╛рдЗрдкрд░рд▓реЗрдбрд░ рдлреИрдмреНрд░рд┐рдХ рдПрдХ рдУрдкрдирд╕реЛрд░реНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЬреЗрдПрд╕ рдФрд░ рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЗрдП рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдбреЗрдЯрд╛, рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдкреНрд░рддрд┐рднрд╛рдЧреА рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рддрдХ рдкрд╣реБрдВрдЪреЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕реБрдзрд╛рд░рд╛ рдпрд╛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░


рдЖрд░реЗрдЦ Hyperledger рдлреИрдмреНрд░рд┐рдХ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд╕рдВрдЧрдарди - рд╕рдВрдЧрдардиреЛрдВ рдореЗрдВ рд╕рд╣рдХрд░реНрдореА рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдмреНрд▓реЙрдХрдЪреЗрди рдореМрдЬреВрдж рд╣реИред рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЧрдарди рдПрдХ рд╣реА рдЪреИрдирд▓ рдХреЗ рд╕рджрд╕реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреИрдирд▓ - рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдЬреЛ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдПрдХрдЬреБрдЯ рдХрд░рддреА рд╣реИ, рдЕрд░реНрдерд╛рддред рдмреНрд▓реЙрдХрдЪреЗрди рд╕реЗрдЯ рд╣реИред рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдПрдХ рд╕рд╛рде рдХрдИ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рджрд╕реНрдпрддрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ (MSP) рдкрд╣рдЪрд╛рди рдЬрд╛рд░реА рдХрд░рдиреЗ рдФрд░ рднреВрдорд┐рдХрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ CA (рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг) рд╣реИред рдПрдХ рдиреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдордПрд╕рдкреА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

  • рд╕рд╣рдХрд░реНрдореА рд╕рд╣рдХрд░реНрдореА (рдИрдкреА) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдХрдорд┐рдЯрд┐рдВрдЧ рдкреАрдпрд░ (CP) - рдХреЗрд╡рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рдбреЗрдЯрд╛ рд╕реЗрд╡ рдХрд░реЗрдВ рдФрд░ "рд╡рд░реНрд▓реНрдб рд╕реНрдЯреЗрдЯ" рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
  • рдПрдВрдХрд░ рдкреАрдпрд░ (рдПрдкреА) - рдпрджрд┐ рдХрдИ рд╕рдВрдЧрдарди рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдмреАрдЪ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдХрд░ рд╕рд╛рдерд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЧрдарди рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдПрдВрдХрд░ рд╕рд╛рдереА рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдПрдкреА рдХреА рдорджрдж рд╕реЗ, рд╕рдВрдЧрдарди рдореЗрдВ рдХреЛрдИ рднреА рд╕рд╣рдХрд░реНрдореА рдЕрдиреНрдп рд╕рдВрдЧрдардиреЛрдВ рдореЗрдВ рд╕рднреА рд╕рд╛рдерд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЧрдкрд╢рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреА рдХреЗ рдмреАрдЪ рд╕реВрдЪрдирд╛ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд▓реАрдбрд░ рдкреАрдпрд░ - рдпрджрд┐ рд╕рдВрдЧрдарди рдореЗрдВ рдХрдИ рдкреАрдпрд░ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рдкреАрдпрд░ рд▓реАрдбрд░ рд╣реА рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕рд░реНрд╡рд┐рд╕ рд╕реЗ рдмреНрд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рдкреАрдпрд░рд░реНрд╕ рдХреЛ рджреЗрдЧрд╛ред рдПрдХ рдиреЗрддрд╛ рдХреЛ рдХрд┐рд╕реА рд╕рдВрдЧрдарди рдореЗрдВ рдпрд╛ рддреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕рд╛рдерд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧрдкрд╢рдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рд▓реЗрдЬрд░ - рдмреНрд▓реЙрдХрдЪреИрди "рдмреНрд▓реЙрдХрдЪреИрди" рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ "рд╡рд░реНрдб рд╕реНрдЯреЗрдЯ" рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдкрддреНрддрд┐ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рддрд┐ LevelDB рдпрд╛ CouchDB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ - рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ, рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреЛ рдЪрд┐рдирдХреЛрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪрд┐рдирдХреЛрдб рдХреА рдорджрдж рд╕реЗ, рдЙрди рдкрд░ рд╕рдВрдкрддреНрддрд┐ рдФрд░ рд▓реЗрдирджреЗрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрдХрдиреАрдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ рддреЛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдЬреЗрдПрд╕ рдпрд╛ рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВред

рд╕рдорд░реНрдерди рдиреАрддрд┐ - рдкреНрд░рддреНрдпреЗрдХ рдЪреЗрдВрдХреЛрдб рдХреЗ рд▓рд┐рдП, рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХрд┐рддрдиреА рдиреАрддрд┐рдпреЛрдВ рдФрд░ рдЬрд┐рдирд╕реЗ рдЖрдк рд▓реЗрди-рджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдиреАрддрд┐ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдЪреИрдирд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдВрдЧрдарди рдХреЗ рдХрд┐рд╕реА рд╕рджрд╕реНрдп рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП"ред рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:

  • рд╕рдВрдЧрдарди рдХреЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП;
  • рд╕рдВрдЧрдарди рдХреЗ рдХрд┐рд╕реА рднреА рд╕рджрд╕реНрдп рдпрд╛ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП;
  • рдХрд┐рд╕реА рднреА рд╕рд╣рдХрд░реНрдореА рд╕рдВрдЧрдарди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред

рдСрд░реНрдбрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ - рдмреНрд▓реЙрдХ рдореЗрдВ рд▓реЗрдирджреЗрди рдкреИрдХ рдХрд░рддреА рд╣реИ рдФрд░ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдЪреИрдирд▓ рднреЗрдЬрддреА рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рднреА рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдбрд┐рд▓реАрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рдФрджреНрдпреЛрдЧрд┐рдХ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреНрдХрд╛ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реЛрд▓реЛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

CallFlow


рдЫрд╡рд┐

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

рдпрд╛рдиреА рдпрд╣ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдХреА рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рдмреНрд▓реЙрдХрдЪреЗрди рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

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

рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЙрд▓реНрдпреВрд╢рдВрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдСрд░рд┐рдЬрд┐рдВрд╕ рдпрд╛ рдпрд╣рд╛рдВ: рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ: рдкрд░рдорд┐рд╢рдиреЗрдб рдмреНрд▓реЙрдХрдЪрд┐рдиреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд┐рд╕реНрдЯреНрд░рд┐рдмреНрдпреВрдЯреЗрдб рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо ред

рддреЛ, рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдордирдорд╛рдиреЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛;
  • JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмреНрд▓реЙрдХрдЪреИрди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
  • рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВред

рдЕрдм рдЬрдм рд╣рдо рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдЦрд┐рд░рдХрд╛рд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╣реИ!

рдмреНрд▓реЙрдХрдЪреИрди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди


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

рдЫрд╡рд┐

рдКрдкрд░реА рдЖрдВрдХрдбрд╝реЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╣реИрдВ, рдЬреЛ рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЙрдирдХреЗ рдиреАрдЪреЗ рдХрд╣рд╛рдиреА рджрд┐рдЦрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рд▓реЗрдирджреЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрддреНрддрд┐ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрд╕реЗрдЯ рдХреЗрд╡рд▓ рдЕрдкрдиреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдирджреЗрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдИрдмреАрдПрдо рдХреНрд▓рд╛рдЙрдб


рд╣рдо рдЖрдИрдмреАрдПрдо рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдмреНрд▓реЙрдХрдЪреИрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдкреЗ-рдЕрд╕-рдпреВ-рдЧреЛ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдмреАрдПрдо рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕реЗ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдИрдмреАрдПрдо рдХреЗ рдкрд╛рд╕ рдЕрдЪреНрдЫреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдореБрдЭреЗ рд▓реЗрдЦ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд╕рдВрдж рдЖрдИ:


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

рдЫрд╡рд┐

рдЗрд╕рдореЗрдВ рд╣рдо рдиреЛрдб рдмрдирд╛рддреЗ рд╣реИрдВ: рдСрд░реНрдбрд░рд░ рд╕реАрдП, рдСрд░реНрдЧ 1 рд╕реАрдП, рдСрд░реНрдбрд░рд░ рдкреАрд░:

рдЫрд╡рд┐

рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдПрдХ рдЪреИрдирд▓ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рд╕рд┐рдЯрдХреЙрдЗрди рдХрд╣реЗрдВ:

рдЫрд╡рд┐

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЪреИрдирд▓ рдПрдХ рдмреНрд▓реЙрдХрдЪреЗрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рд╢реВрдиреНрдп рдмреНрд▓реЙрдХ (рдЙрддреНрдкрддреНрддрд┐ рдмреНрд▓реЙрдХ) рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд▓рд┐рдЦрдирд╛


/* * 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) рд╣реИрдВ рдЬреЛ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣рд╛рдЗрдкрд░рд▓реЗрдбрд░ рдлреИрдмреНрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗред
  • SendFrom рдФрд░ RefillBalance рдлрд╝рдВрдХреНрд╢рдВрд╕ рдИрд╡реЗрдВрдЯ (рдИрд╡реЗрдВрдЯ) рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
  • рдлрдВрдХреНрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрдЯрд┐рдЕрдЯ - рдПрдХ рдмрд╛рд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрдЯреЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╣рд░ рдмрд╛рд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рдХреЛ рдЖрд░рдореНрдн рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдХреЛ рдЦреЛ рджреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдирд╣реАрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рд╕реАрдЦ рд░рд╣рд╛ рд╣реВрдВ)ред
  • рдЦрд╛рддреЗ рдФрд░ рдЦрд╛рддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдЦрд╛рддреЗ) JSON рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВред рдбреЗрдЯрд╛ рд╣реЗрд░рдлреЗрд░ рдХреЗ рд▓рд┐рдП, JS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЖрдк getState рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ putState рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╕рдордп, AddAccount рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмреНрд▓реЙрдХрдЪреИрди рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ (maxAccounts = 5)ред рдФрд░ рдПрдХ рдЬрд╛рдВрдм (рджреЗрдЦрд╛?) рд╣реИ, рдЬреЛ рдЦрд╛рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдирдВрдд рд╡реГрджреНрдзрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)

рдЕрдЧрд▓рд╛, рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛ рдЪреИрдирд▓ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

рдЫрд╡рд┐

рд╣рдо рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдирджреЗрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рд╣рдо рдЕрдкрдиреЗ рдЪреИрдирд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдЖрдИрдмреАрдПрдо рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реЗрдЦ рдорд┐рд▓рддрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдореЗрдЬрд╝реЕрди рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ рднрд╛рдЧ рджреЗрдЦреЗрдВ):

рдЫрд╡рд┐

Hyperledger Fabric API рдХреЙрд▓реНрд╕ рдХреЗ рд▓рд┐рдП GUI рдмрдирд╛рдирд╛


рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ рдПрдХ рдПрдкреАрдЖрдИ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдХреНрд░рд┐рдПрд╢рди рдЪреИрдирд▓;
  • рдЪреИрдирд▓ рд╕реЗ рд╕рд╣рдХрд░реНрдореА рдХрдиреЗрдХреНрд╢рди;
  • рдЪреИрдирд▓ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрдЯреЗрд╢рди;
  • рд▓реЗрди-рджреЗрди рдХреЙрд▓;
  • рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред

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


рд╣рдорд╛рд░реЗ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рд▓реЗрди-рджреЗрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдЖрдИрдмреАрдПрдо рдмреНрд▓реЙрдХрдЪреЗрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЗрд╖ рдХрджрдо рдЙрдард╛рдП рд╣реИрдВред рд╣рдо рдПрдХ рдорд╛рдирдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GUI рд▓рд┐рдЦрддреЗ рд╣реИрдВ: Express.js + Vue.js + Node.js. рдЖрдк рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдореИрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдПрдХ рдХрдбрд╝реА рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдЖрдИ: Vue.js рдФрд░ Express.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рд╡реЗрдм рдРрдк ред рдкрд░рд┐рдгрд╛рдо Google рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдбрд┐рдЬрд╛рдЗрди рдХреА рд╢реИрд▓реА рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрд┐рдд рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ REST API рдореЗрдВ рдХрдИ рдХреЙрд▓ рд╣реЛрддреЗ рд╣реИрдВ:

  • рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░рдбреИрдореЛ / v1 / init - рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ;
  • HyperledgerDemo / v1 / рдЦрд╛рддреЛрдВ / рд╕реВрдЪреА - рд╕рднреА рдЦрд╛рддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
  • HyperledgerDemo / v1 / account? рдирд╛рдо = рдмреЙрдм рдФрд░ рдмреИрд▓реЗрдВрд╕ = 100 - рдПрдХ рдмреЙрдм рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ;
  • HyperledgerDemo / v1 / info; рдЦрд╛рддрд╛ = рдмреЙрдм - рдмреЙрдм рдЦрд╛рддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
  • HyperledgerDemo / v1 / рд▓реЗрди-рджреЗрди; = рдмреЙрдм рдФрд░ рд╕реЗ = рдРрд▓рд┐рд╕ рдФрд░ рд╡реЙрд▓реНрдпреВрдо = 2 - рдмреЙрдм рд╕реЗ рджреЛ рд╕рд┐рдХреНрдХреЗ рдРрд▓рд┐рд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ;
  • HyperledgerDemo / v1 / рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ - рдмреНрд▓реЙрдХрдЪреИрди рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдкреЛрд╕реНрдЯрдореИрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд░рдЦрд╛, рдЬреЛ HTTP рдПрдкреАрдЖрдИ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред

рдЕрдореЗрдЬрд╝реЕрди рдХреНрд▓рд╛рдЙрдб рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди


рдЖрд╡реЗрджрди рдЕрдореЗрдЬрд╝рди рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдмреАрдПрдо рдЕрдм рддрдХ рдореЗрд░реЗ рдЦрд╛рддреЗ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИред рдЪреЗрд░реА рдиреЗ рдбреЛрдореЗрди рдХреЛ рдХреИрд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛: www.citcoin.info ред рдореИрдВ рд╕рд░реНрд╡рд░ рдХреЛ рдереЛрдбрд╝рд╛ рдЪрд╛рд▓реВ рд░рдЦреВрдВрдЧрд╛, рдлрд┐рд░ рдЙрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд░рд╛рдП рдХреЗ рд▓рд┐рдП рд╕реЗрдВрдЯ рдЯрдкрдХ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдЗрдЯрдХреЙрдЗрди рдХреЗ рд╕рд┐рдХреНрдХреЗ рдЕрднреА рддрдХ рд╡рд┐рдирд┐рдордп рдкрд░ рдЙрджреНрдзреГрдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ) рдореИрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдбреЗрдореЛ рдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдбрд╛рд▓ рджрд┐рдП рддрд╛рдХрд┐ рдХрд╛рдо рдХрд╛ рддрд░реНрдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛред рдбреЗрдореЛ рдЖрд╡реЗрджрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ;
  • рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБ (рд▓реЗрдХрд┐рди рдЕрдм рдПрдХ рдирдпрд╛ рдЦрд╛рддрд╛ рди рдмрдирд╛рдПрдБ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдкрд╣реБрдБрдЪ рдЪреБрдХреА рд╣реИ);
  • рдЦрд╛рддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;
  • рдРрд▓рд┐рд╕, рдмреЙрдм рдФрд░ рдПрд▓реЗрдХреНрд╕ рдХреЗ рдмреАрдЪ рд╕рд┐рдЯрдХрдиреА рдХреЗ рд╕рд┐рдХреНрдХреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ;
  • рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд▓реЗрдХрд┐рди рдЕрдм рдШрдЯрдирд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
  • рдХрд╛рд░реНрдп рд▓реЙрдЧ рдХрд░реЗрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ:

рдЫрд╡рд┐

рдЕрдЧрд▓рд╛, рдЕрдкрдирд╛ рдЦрд╛рддрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╕рдВрддреБрд▓рди рдХреЗ рд╕рд╛рде рди рдХрд░реЗрдВ:

рдЫрд╡рд┐

рд╣рдореЗрдВ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдЦрд╛рддреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:

рдЫрд╡рд┐

рд╣рдо рдкреНрд░реЗрд╖рдХ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЙрдирдХрд╛ рд╕рдВрддреБрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдкреНрд░реЗрд╖рдХ рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╕рдорд╛рди рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдЦрд╛рддреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рднрд░рдирд╛ рд╣реЛрдЧрд╛:

рдЫрд╡рд┐

рд▓реЙрдЧ рдореЗрдВ, рд╣рдо рд▓реЗрдирджреЗрди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рджрд░рдЕрд╕рд▓, рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдм рд╣реИред рдЖрдЧреЗ, рдЖрдк рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓реЗрдирджреЗрди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдЫрд╡рд┐

рдФрд░ рд▓реЗрди-рджреЗрди рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪреА:

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ Citcoin рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП PoC рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдпрд╛ред Citcoin рдХреЛ рдПрдХ рдкреВрд░реНрдг рд╕рд┐рдХреНрдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдиреЗрдЯрд╡рд░реНрдХ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛:

  • рдЦрд╛рддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, рдирд┐рдЬреА / рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреА рдкреАрдврд╝реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдЦрд╛рддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдПрдХ рд╕рд┐рдХреНрдХрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд╛рдо рдирд╣реАрдВред
  • рдЕрдкрдиреА рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдирджреЗрди рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВред

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


рд╣рдордиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде Citcoin рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ: рдПрдХ рдЦрд╛рддрд╛ рдЬреЛрдбрд╝реЗрдВ, рдПрдХ рд╕рдВрддреБрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреА рднрд░рдкрд╛рдИ рдХрд░реЗрдВ, рдПрдХ рдЦрд╛рддреЗ рд╕реЗ рджреВрд╕рд░реЗ рдЦрд╛рддреЗ рдореЗрдВ рд╕рд┐рдХреНрдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред рддреЛ, PoC рдмрдирд╛рдиреЗ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛ рд▓рд╛рдЧрдд рдЖрдИ?

  • рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдФрд░ рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;
  • рдЖрдИрдмреАрдПрдо рдпрд╛ рдЕрдореЗрдЬрд╝реЕрди рдХреНрд▓рд╛рдЙрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ;
  • рдЬреЗрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдФрд░ рдХреБрдЫ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реАрдЦреЗрдВ;
  • рдпрджрд┐ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕реАрдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PostgreSQL рдХреЗ рд╕рд╛рде;
  • рдФрд░ рдкрд┐рдЫрд▓реЗ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдХрдо рд╕реЗ рдХрдо - рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рдмрд┐рдирд╛, рдХрд╣реАрдВ рдирд╣реАрдВ!)

рдмреЗрд╢рдХ, рд░реЙрдХреЗрдЯ рд╡рд┐рдЬреНрдЮрд╛рди рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкрд╕реАрдирд╛ рдмрд╣рд╛рдирд╛ рд╣реЛрдЧрд╛!

рдЧрд┐рдЯрд╣рдм рд╕реНрд░реЛрдд


рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб GitHub рдкрд░ рд░рдЦрд╛ред рднрдВрдбрд╛рд░ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг:
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ " рд╕рд░реНрд╡рд░ " - Node.js рд╕рд░реНрд╡рд░
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ " рдХреНрд▓рд╛рдЗрдВрдЯ " - Node.js рдХреНрд▓рд╛рдЗрдВрдЯ
" рдмреНрд▓реЙрдХрдЪреИрди " рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдФрд░ рдХреБрдВрдЬрд┐рдпрд╛рдБ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреА рдЧрдИ рд╣реИрдВ):

  • рдЕрдиреБрдмрдВрдз - рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрд╛ рд╕реНрд░реЛрдд
  • рд╡реЙрд▓реЗрдЯ - рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреБрдВрдЬреАред
  • * .cds - рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг
  • * .json рдлрд╛рдЗрд▓реЗрдВ - рд╣рд╛рдЗрдкрд░рд▓реЗрдЧрд░ рдлреИрдмреНрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓

рдпрд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рд╣реИ!

Source: https://habr.com/ru/post/hi466157/


All Articles