เชคเชฎเชพเชฐเซ เชเชเชเซ เชญเชฏเชญเซเชค เชเซ เช เชจเซ เชคเชฎเชพเชฐเชพ เชนเชพเชฅ เชเชเชเชตเชพเชณ เชเซ!
เช
เชเชพเชเชจเชพ เชฒเซเชเซเชฎเชพเช, เช
เชฎเซ เชคเซ เชคเชเชจเซเชเซ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเชฏเซ เชเซ เชเซเชจเชพ เชชเชฐ เชฌเซเชฒเซเชเชเซเชจ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ (
เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช - เชเช เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เชฌเซเชฒเซเชเชเซเชจ
เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชนเซเช เชคเซ, เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เชฎเชพเชนเชฟเชคเซ เชธเชฟเชธเซเชเชฎ เชเซ:
- เชธเชฐเซเชตเชฐเชจเซ เชธเชฎเซเชน เช เชจเซ เชธเซเชซเซเชเชตเซเชฐ เชเซเชฐ เชเซ เชตเซเชฏเชตเชธเชพเชฏ เชคเชฐเซเช เชเชฐเซ เชเซ;
- เชธเชฟเชธเซเชเชฎ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชฎเชพเชเซ เชเชจเซเชเชฐเชซเซเชธ;
- เชเชชเชเชฐเชฃเซ/เชฒเซเชเซเชจเซ เชจเซเชเชงเชฃเซ, เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เช เชจเซ เช เชงเชฟเชเซเชคเชคเชพ เชฎเชพเชเซเชจเชพ เชธเชพเชงเชจเซ;
- เชกเซเชเชพเชฌเซเช เชเชชเชฐเซเชถเชจเชฒ เช เชจเซ เชเชฐเซเชเชพเชเชตเชฒ เชกเซเชเชพ เชธเซเชเซเชฐ เชเชฐเซ เชเซ:
เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชถเซเช เชเซ เชคเซเชจเซเช เชธเชคเซเชคเชพเชตเชพเชฐ เชธเชเชธเซเชเชฐเชฃ เช
เชนเซเช เชตเชพเชเชเซ เชถเชเชพเชฏ เชเซ
เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชเชฐเซเชเชฟเชเซเชเซเชเชฐ
เชเชเซเชคเชฟ เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชเชฐเซเชเชฟเชเซเชเซเชเชฐ เชฌเชคเชพเชตเซ เชเซ:
เชธเชเชธเซเชฅเชพเช โ เชธเชเชธเซเชฅเชพเชเชฎเชพเช เชธเชพเชฅเซเชฆเชพเชฐเซ เชนเซเชฏ เชเซ, เชเชเชฒเซ เชเซ เชธเชเชธเซเชฅเชพเชเชจเชพ เชธเชฎเชฐเซเชฅเชจเชจเซ เชเชพเชฐเชฃเซ เชฌเซเชฒเซเชเชเซเชจ เช
เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ. เชตเชฟเชตเชฟเชง เชธเชเชธเซเชฅเชพเช เชเช เช เชเซเชจเชฒเชจเซ เชญเชพเช เชฌเชจเซ เชถเชเซ เชเซ.
เชเซเชจเชฒ - เชเช เชคเชพเชฐเซเชเชฟเช เชฎเชพเชณเชเซเช เชเซ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชเซเชฅเซเชฎเชพเช เชเซเชกเซ เชเซ, เชเชเชฒเซ เชเซ. เชฌเซเชฒเซเชเชเซเชจ เชเชฒเซเชฒเซเชเชฟเชค เชเซ. เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชเชเชธเชพเชฅเซ เชตเชฟเชตเชฟเชง เชตเซเชฏเชพเชชเชพเชฐ เชคเชฐเซเช เชธเชพเชฅเซ เชฌเชนเซเชตเชฟเชง เชฌเซเชฒเซเชเชเซเชจ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชถเชเซ เชเซ.
เชธเชญเซเชฏเชชเชฆ เชธเซเชตเชพ เชชเซเชฐเชฆเชพเชคเชพ (MSP) เชเชณเช เชเชพเชฐเซ เชเชฐเชตเชพ เช เชจเซ เชญเซเชฎเชฟเชเชพเช เชธเซเชเชชเชตเชพ เชฎเชพเชเซ CA (เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช เชงเชฟเชเชพเชฐเซ) เชเซ. เชจเซเชก เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ MSP เชธเชพเชฅเซ เชธเชเชชเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชชเซเช เชฐ เชจเซเชกเซเชธ - เชตเซเชฏเชตเชนเชพเชฐเซ เชเชเชพเชธเซ, เชฌเซเชฒเซเชเชเซเชจ เชธเซเชเซเชฐ เชเชฐเซ, เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเซเชธ เชเชฒเชพเชตเซ เช เชจเซ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเซ. เชธเชพเชฅเซเชเชจเซ เชเชณเช (เชกเชฟเชเชฟเชเชฒ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ) เชนเซเชฏ เชเซ, เชเซ MSP เชฆเซเชตเชพเชฐเชพ เชเชพเชฐเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฌเชฟเชเชเซเชเชจ เช เชฅเชตเชพ เชเชฅเซเชฐเชฟเชฏเชฎ เชจเซเชเชตเชฐเซเชเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชฏเชพเช เชคเชฎเชพเชฎ เชเชพเชเช เซเชจเซ เชธเชฎเชพเชจ เช เชงเชฟเชเชพเชฐเซ เชนเซเชฏ เชเซ, เชนเชพเชเชชเชฐเชฒเซเชเชฐเชฎเชพเช เชซเซเชฌเซเชฐเชฟเช เชจเซเชกเซเชธ เชตเชฟเชตเชฟเชง เชญเซเชฎเชฟเชเชพ เชญเชเชตเซ เชเซ:
- เชชเซเช เชฐ เชเชฆเชพเช เชธเชฎเชฐเซเชฅเชจ เชเชชเชจเชพเชฐ เชชเซเช เชฐ (EP) เช เชจเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซ.
- เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชชเซเช เชฐ (CP) - เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชซเชเซเชค เชกเซเชเชพ เชธเชพเชเชตเซ เช เชจเซ "เชตเชฐเซเชฒเซเชก เชธเซเชเซเช" เช เชชเชกเซเช เชเชฐเซ.
- เชเชจเซเชเชฐ เชชเซเชฐ (เชเชชเซ) - เชเซ เชเชฃเซ เชธเชเชธเซเชฅเชพเช เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชญเชพเช เชฒเซ เชเซ, เชคเซ เชคเซเชฎเชจเซ เชตเชเซเชเซเชจเชพ เชธเชเชเชพเชฐ เชฎเชพเชเซ เชเชจเซเชเชฐ เชชเซเช
เชฐเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฆเชฐเซเช เชธเชเชธเซเชฅเชพเชฎเชพเช เชเช เช
เชฅเชตเชพ เชตเชงเซ เชเชจเซเชเชฐ เชชเซเช
เชฐ เชนเซเชตเชพ เชเชตเชถเซเชฏเช เชเซ. AP เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชธเชเชธเซเชฅเชพเชฎเชพเช เชเซเชเชชเชฃ เชชเซเช
เชฐ เช
เชจเซเชฏ เชธเชเชธเซเชฅเชพเชเชฎเชพเช เชคเชฎเชพเชฎ เชธเชพเชฅเซเชฆเชพเชฐเซ เชตเชฟเชถเซ เชฎเชพเชนเชฟเชคเซ เชฎเซเชณเชตเซ เชถเชเซ เชเซ. APs เชตเชเซเชเซ เชฎเชพเชนเชฟเชคเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ
เชเชชเชธเชช เชชเซเชฐเซเชเซเชเซเชฒ . - เชจเซเชคเชพ เชชเซเช เชฐ - เชเซ เชเซเช เชธเชเชธเซเชฅเชพเชฎเชพเช เชเชฃเชพ เชธเชพเชฅเซเชฆเชพเชฐเซ เชนเซเชฏ, เชคเซ เชซเชเซเชค เชชเซเช เชฐเชจเชพ เชจเซเชคเชพเชจเซ เชเชฐเซเชกเชฐเชฟเชเช เชธเซเชตเชพเชฎเชพเชเชฅเซ เชฌเซเชฒเซเชเซเชธ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ เช เชจเซ เชฌเชพเชเซเชจเชพ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชเชชเชถเซ. เชฒเซเชกเชฐ เชเซเชฏเชพเช เชคเซ เชธเซเชฅเชฟเชฐ เชฐเซเชคเซ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ เช เชฅเชตเชพ เชธเชเชธเซเชฅเชพเชจเชพ เชธเชพเชฅเซเชฆเชพเชฐเซ เชฆเซเชตเชพเชฐเชพ เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชชเชธเชเชฆ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชเชชเชธเชช เชชเซเชฐเซเชเซเชเซเชฒเชจเซ เชเชชเชฏเซเช เชจเซเชคเชพเช เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซเชจเซ เชธเซเชฎเซเชณ เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชฃ เชฅเชพเชฏ เชเซ.
เช เชธเซเชเชฏเชพเชฎเชคเซ - เชเชเชฎเซ เชเซ เชเซเชจเซเช เชฎเซเชฒเซเชฏ เชเซ เช เชจเซ เชฌเซเชฒเซเชเชเซเชจ เชชเชฐ เชธเชเชเซเชฐเชนเชฟเชค เชเซ. เชตเชงเซ เชตเชฟเชถเชฟเชทเซเช เชฐเซเชคเซ, เช JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชเซ-เชตเซเชฒเซเชฏเซ เชกเซเชเชพ เชเซ. เชคเซ เช เชกเซเชเชพ เชเซ เชเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซเชฎเชจเซ เชชเชพเชธเซ เชเช เชเชคเชฟเชนเชพเชธ เชเซ, เชเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเซ, เช เชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชเซ, เชเซ "เชตเชฐเซเชฒเซเชก เชธเซเชเซเช" เชกเซเชเชพเชฌเซเชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเซ. เชตเซเชฏเชตเชธเชพเชฏเชฟเช เชเชพเชฐเซเชฏเซเชจเชพ เชเชงเชพเชฐเซ เชกเซเชเชพ เชธเซเชเซเชฐเชเซเชเชฐเซเชธ เชฎเชจเชธเซเชตเซ เชฐเซเชคเซ เชญเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชคเซเชฏเชพเช เชเซเช เชเชตเชถเซเชฏเช เชซเซเชฒเซเชก เชจเชฅเซ, เชเชเชฎเชพเชคเซเชฐ เชญเชฒเชพเชฎเชฃ เช เชเซ เชเซ เชธเชเชชเชคเซเชคเชฟเชจเซ เชฎเชพเชฒเชฟเช เชนเซเชตเซ เชเซเชเช เช เชจเซ เชคเซ เชฎเซเชฒเซเชฏเชตเชพเชจ เชนเซเชตเซ เชเซเชเช.
เชเชพเชคเชพเชตเชนเซ โ เชฌเซเชฒเซเชเชเซเชจ เช เชจเซ เชตเชฐเซเชก เชธเซเชเซเช เชกเซเชเชพเชฌเซเชเชจเซ เชธเชฎเชพเชตเซเชถ เชเชฐเซ เชเซ, เชเซ เชธเชเชชเชคเซเชคเชฟเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟเชจเซ เชธเชเชเซเชฐเชน เชเชฐเซ เชเซ. เชตเชฟเชถเซเชต เชฐเชพเชเซเชฏ เชฒเซเชตเชฒเชกเซเชฌเซ เช เชฅเชตเชพ เชเซเชเชกเซเชฌเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ.
เชธเซเชฎเชพเชฐเซเช เชเชฐเชพเชฐ - เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชธเชฟเชธเซเชเชฎเชจเชพ เชตเซเชฏเชตเชธเชพเชฏเชฟเช เชคเชฐเซเชเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชนเชพเชฏเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเชเชฎเชพเช, เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชจเซ เชเซเชเชจเชเซเชก เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเซเชเชจเชเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชธเซเชเชฏเชพเชฎเชคเซ เช เชจเซ เชคเซเชฎเชจเชพ เชชเชฐเชจเชพ เชตเซเชฏเชตเชนเชพเชฐเซ เชเชฒเซเชฒเซเชเชฟเชค เชเซ. เชเซเชเชจเชฟเชเชฒ เชชเชฐเชฟเชญเชพเชทเชพเชฎเชพเช, เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เช เชเซเชเชธ เช เชฅเชตเชพ เชเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพเชเชฎเชพเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเชพเชฏเซเชฒเชพ เชธเซเชซเซเชเชตเซเชฐ เชฎเซเชกเซเชฏเซเชฒ เชเซ.
เชธเชฎเชฐเซเชฅเชจ เชจเซเชคเชฟ โ เชฆเชฐเซเช เชเซเชเชจเชเซเชก เชฎเชพเชเซ, เชคเชฎเซ เชเช เชจเซเชคเชฟ เชธเซเช เชเชฐเซ เชถเชเซ เชเซ เชเซ เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจ เชฎเชพเชเซ เชเซเชเชฒเชพ เชเชจเซเชซเชฐเซเชฎเซเชถเชจเชจเซ เช เชชเซเชเซเชทเชพ เชฐเชพเชเชตเซ เชเซเชเช เช เชจเซ เชเซเชจเซ เชชเชพเชธเซเชฅเซ. เชเซ เชจเซเชคเชฟ เชธเซเช เชจ เชนเซเชฏ, เชคเซ เชกเชฟเชซเซเชฒเซเช เชเซ: "เชเซเชจเชฒเชฎเชพเช เชเซเชเชชเชฃ เชธเชเชธเซเชฅเชพเชจเชพ เชเซเชเชชเชฃ เชธเชญเซเชฏ เชฆเซเชตเชพเชฐเชพ เชตเซเชฏเชตเชนเชพเชฐเชจเซ เชชเซเชทเซเชเชฟ เชฅเชตเซ เชเซเชเช." เชจเซเชคเชฟเชเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ:
- เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจ เชธเชเชธเซเชฅเชพเชจเชพ เชเซเชเชชเชฃ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐ เชฆเซเชตเชพเชฐเชพ เชฎเชเชเซเชฐ เชฅเชฏเซเชฒ เชนเซเชตเซเช เชเชตเชถเซเชฏเช เชเซ;
- เชธเชเชธเซเชฅเชพเชจเชพ เชเซเชเชชเชฃ เชธเชญเซเชฏ เช เชฅเชตเชพ เชเซเชฒเชพเชฏเชจเซเช เชฆเซเชตเชพเชฐเชพ เชชเซเชทเซเชเชฟ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ;
- เชเซเชเชชเชฃ เชชเซเช เชฐ เชธเชเชธเซเชฅเชพ เชฆเซเชตเชพเชฐเชพ เชชเซเชทเซเชเชฟ เชฅเชฏเซเชฒ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ.
เชเชฐเซเชกเชฐเชฟเชเช เชธเซเชตเชพ โ เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจเชจเซ เชฌเซเชฒเซเชเชฎเชพเช เชชเซเช เชเชฐเซ เชเซ เช
เชจเซ เชเซ
เชจเชฒเชฎเชพเช เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชฎเซเชเชฒเซ เชเซ. เชจเซเชเชตเชฐเซเช เชชเชฐเชจเชพ เชคเชฎเชพเชฎ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชธเชเชฆเซเชถเชพเชเชจเชพ เชตเชฟเชคเชฐเชฃเชจเซ เชเชพเชคเชฐเซ เชเชชเซ เชเซ. เชเชฆเซเชฏเซเชเชฟเช เชธเชฟเชธเซเชเชฎเซ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ
เชเซเชฒเชซเซเชฒเซ
- เชเชชเซเชฒเชฟเชเซเชถเชจ Go, Node.js เช เชฅเชตเชพ Java SDK เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชธเชพเชฅเซ เชตเชพเชคเชเซเชค เชเชฐเซ เชเซ;
- เชเซเชฒเชพเชฏเชจเซเช เชเช tx เชตเซเชฏเชตเชนเชพเชฐ เชฌเชจเชพเชตเซ เชเซ เช เชจเซ เชคเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเชคเชพ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชฎเซเชเชฒเซ เชเซ;
- เชชเซเช
เชฐ เชเซเชฒเชพเชฏเชจเซเชเชจเชพ เชนเชธเซเชคเชพเชเซเชทเชฐเชจเซ เชเชเชพเชธเชฃเซ เชเชฐเซ เชเซ, เชตเซเชฏเชตเชนเชพเชฐ เชชเซเชฐเซเชฃ เชเชฐเซ เชเซ เช
เชจเซ เชเซเชฒเชพเชฏเชจเซเชเชจเซ เชธเชฎเชฐเซเชฅเชจเชจเซ เชธเชนเซ เชชเชฐเชค เชฎเซเชเชฒเซ เชเซ. เชเซเชเชจเชเซเชก เชฎเชพเชคเซเชฐ เชธเชฎเชฐเซเชฅเชจ เชเชชเชจเชพเชฐ เชชเซเช
เชฐ เชชเชฐ เช เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช
เชจเซ เชคเซเชจเชพ เช
เชฎเชฒเชจเซเช เชชเชฐเชฟเชฃเชพเชฎ เชคเชฎเชพเชฎ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชฐเซเชฏเชจเชพ เช เช
เชฒเซเชเซเชฐเชฟเชงเชฎเชจเซ PBFT (เชชเซเชฐเซเชเซเชเชฟเชเชฒ เชฌเชพเชฏเชเซเชจเซเชเชพเชเชจ เชซเซเชฒเซเช เชเซเชฒเชฐเชจเซเช) เชธเชฐเซเชตเชธเชเชฎเชคเชฟ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฅเซ เช
เชฒเช เชชเชกเซ เชเซ
เชเซเชฒเชพเชธเชฟเช BFT เชนเชเซเชเชค เช เชเซ เชเซ เชธเชเชฆเซเชถ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ เช เชจเซ เชชเซเชทเซเชเชฟเชจเซ เช เชชเซเชเซเชทเชพ เชฌเชงเชพ เชธเชนเชญเชพเชเซเช เชชเชพเชธเซเชฅเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชเซเชเซเชเชธ เชธเชฎเซเชนเชฎเชพเชเชฅเซ เชเซ; - เชเซเชฒเชพเชฏเชจเซเชเชจเซ เชธเชฎเชฐเซเชฅเชจ เชจเซเชคเชฟเชจเซ เช เชจเซเชฐเซเชช เชชเซเชฐเชคเชฟเชธเชพเชฆเซเชจเซ เชธเชเชเซเชฏเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเชพ เชชเชเซ, เชคเซ เชเชฐเซเชกเชฐเชฟเชเช เชธเซเชตเชพเชจเซ เชตเซเชฏเชตเชนเชพเชฐ เชฎเซเชเชฒเซ เชเซ;
- เชเชฐเซเชกเชฐเชฟเชเช เชธเซเชตเชพ เชเช เชฌเซเชฒเซเช เชเชจเชฐเซเช เชเชฐเซ เชเซ เช
เชจเซ เชคเซเชจเซ เชคเชฎเชพเชฎ เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชธเชพเชฅเซเชเชจเซ เชฎเซเชเชฒเซ เชเซ. เชเชฐเซเชกเชฐเชฟเชเช เชธเซเชตเชพ เชฌเซเชฒเซเชเซเชธเชจเชพ เชเซเชฐเชฎเชฟเช เชฐเซเชเซเชฐเซเชกเชฟเชเชเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเซ เชเซ, เชเซ เชเชนเซเชตเชพเชคเชพ เชเชพเชคเชพเชตเชนเซ เชซเซเชฐเซเชเชจเซ เชฆเซเชฐ เชเชฐเซ เชเซ (
เชตเชฟเชญเชพเช "เชซเซเชฐเซเชเชธ" เชเซเช ); - เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชฌเซเชฒเซเช เชฎเชณเซ เชเซ, เชธเชฎเชฐเซเชฅเชจ เชจเซเชคเชฟ เชซเชฐเซเชฅเซ เชคเชชเชพเชธเซ, เชฌเซเชฒเซเชเชเซเชจ เชชเชฐ เชฌเซเชฒเซเช เชฒเชเซ เช เชจเซ "เชตเชฐเซเชฒเซเชก เชธเซเชเซเช" DB เชฎเชพเช เชฐเชพเชเซเชฏ เชฌเชฆเชฒเซ.
เชคเซ. เช เชเชพเชเช เซ เชตเชเซเชเซ เชญเซเชฎเชฟเชเชพเชเชจเชพ เชตเชฟเชญเชพเชเชจเชฎเชพเช เชชเชฐเชฟเชฃเชฎเซ เชเซ. เช เชเชพเชคเชฐเซ เชเชฐเซ เชเซ เชเซ เชฌเซเชฒเซเชเชเซเชจ เชธเซเชเซเชฒเซเชฌเชฒ เช เชจเซ เชธเซเชฐเชเซเชทเชฟเชค เชเซ:
- เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเซเชธ (เชเซเชเชจเชเซเชก) เชชเซเช เชฐเซเชธเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ. เช เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชจเซ เชเซเชชเชจเซเชฏเชคเชพเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเซ เชเซ, เชเชพเชฐเชฃ เชเซ เชคเซ เชฌเชงเชพ เชธเชนเชญเชพเชเซเช เชฆเซเชตเชพเชฐเชพ เชธเชเชเซเชฐเชนเชฟเชค เชจเชฅเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชฆเซเชตเชพเชฐเชพ.
- เชเชฐเซเชกเชฐเชฟเชเช เชเชกเชชเชฅเซ เชเชพเชฎ เชเชฐเชตเซเช เชเซเชเช. เช เช เชนเชเซเชเชค เชฆเซเชตเชพเชฐเชพ เชธเซเชจเชฟเชถเซเชเชฟเชค เชฅเชพเชฏ เชเซ เชเซ เชเชฐเซเชกเชฐเชฟเชเช เชฎเชพเชคเซเชฐ เชเช เชฌเซเชฒเซเช เชฌเชจเชพเชตเซ เชเซ เช เชจเซ เชคเซเชจเซ เชฒเซเชกเชฐ เชธเชพเชฅเซเชฆเชพเชฐเซเชจเชพ เชจเชฟเชถเซเชเชฟเชค เชธเชฎเซเชนเชจเซ เชฎเซเชเชฒเซ เชเซ.
- เชชเซเชฐเชคเชฟเชฌเชฆเซเชง เชธเชพเชฅเซเชฆเชพเชฐเซ เชซเชเซเชค เชฌเซเชฒเซเชเชเซเชจ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซ เชเซ - เชคเซเชฎเชพเชเชจเชพ เชเชฃเชพ เชนเซเช เชถเชเซ เชเซ เช เชจเซ เชคเซเชฎเชจเซ เชเชฃเซ เชถเชเซเชคเชฟ เช เชจเซ เชคเชพเชคเซเชเชพเชฒเชฟเช เชเชพเชฎเชเซเชฐเซเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชนเชพเชฏเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเชเชจเชพ เชเชฐเซเชเชฟเชเซเชเซเชเชฐเชฒ เชธเซเชฒเซเชฏเซเชถเชจเซเชธ เช
เชจเซ เชคเซ เช เชฐเซเชคเซ เชเซเชฎ เชเชพเชฎ เชเชฐเซ เชเซ เช
เชจเซ เช
เชจเซเชฏเชฅเชพ เชจเชนเซเช เชคเซเชจเชพ เชชเชฐ เชตเชงเซ เชตเชฟเชเชคเซ เช
เชนเซเช เชฎเชณเซ เชถเชเซ เชเซ:
เชคเซเชฅเซ, เชนเชพเชฏเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เช เชเชฐเซเชเชฐ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เชธเชฟเชธเซเชเชฎ เชเซ เชเซเชจเซ เชธเชพเชฅเซ เชคเชฎเซ เช เชเชฐเซ เชถเชเซ เชเซ:
- เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชฎเชฟเชเซเชจเชฟเชเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเชจเชธเซเชตเซ เชตเซเชฏเชตเชธเชพเชฏ เชคเชฐเซเชเชจเซ เช เชฎเชฒ เชเชฐเซ;
- เชฌเซเชฒเซเชเชเซเชจ เชกเซเชเชพเชฌเซเชเชฎเชพเชเชฅเซ JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชกเซเชเชพ เชฐเซเชเซเชฐเซเชก เชเชฐเซ เช เชจเซ เชฎเซเชณเชตเซ;
- เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช เชงเชฟเชเชพเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ API เชเชเซเชธเซเชธ เชเชชเซ เช เชจเซ เชเชเชพเชธเซ.
เชนเชตเซ เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชนเชพเชฏเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเชเชจเซ เชตเชฟเชถเชฟเชทเซเชเชคเชพเช เชตเชฟเชถเซ เชฅเซเชกเซเช เชธเชฎเชเซเช เชเซเช, เชเชพเชฒเซ เชเชเชฐเซ เชเชเชเช เชเชชเชฏเซเชเซ เชเชฐเซเช!
เชฌเซเชฒเซเชเชเซเชจ เชเชฎเชพเชตเชตเซเช
เชธเชฎเชธเซเชฏเชพเชจเซ เชฐเชเชจเชพ
เชเชพเชฐเซเชฏ เชจเซเชเซเชจเชพ เชเชพเชฐเซเชฏเซ เชธเชพเชฅเซ Citcoin เชจเซเชเชตเชฐเซเชเชจเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซเช เชเซ: เชเช เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเซ, เชฌเซเชฒเซเชจเซเชธ เชฎเซเชณเชตเซ, เชคเชฎเชพเชฐเซเช เชเชเชพเชเชจเซเช เชเซเชช เช เชช เชเชฐเซ, เชเช เชเชเชพเชเชจเซเชเชฎเชพเชเชฅเซ เชฌเซเชเชพ เชเชเชพเชเชจเซเชเชฎเชพเช เชธเชฟเชเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ. เชเชพเชฒเซ เชเช เชเชฌเซเชเซเชเซเช เชฎเซเชกเซเชฒ เชฆเซเชฐเซเช, เชเซเชจเซ เชเชชเชฃเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชฎเชพเช เชเชเชณ เช เชฎเชฒเชฎเชพเช เชฎเซเชเซเชถเซเช. เชคเซเชฅเซ, เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเชตเชพ เชเชเชพเชเชจเซเช เชนเชถเซ เชเซ เชจเชพเชฎเซ เชฆเซเชตเชพเชฐเชพ เชเชณเชเชพเชฏ เชเซ เช เชจเซ เชคเซเชฎเชพเช เชฌเซเชฒเซเชจเซเชธ เช เชจเซ เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเซเชเชฟ เชนเชถเซ. เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เช เชธเซเชเชฏเชพเชฎเชคเซเชจเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชเชเชพเชเชจเซเชเซเชธ เช เชจเซ เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเซเชเชฟ เชเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชคเซเชฎเชจเซ เชชเชพเชธเซ เชเชคเชฟเชนเชพเชธ เช เชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชเซ. เชนเซเช เชเชจเซ เชธเซเชชเชทเซเช เชฐเซเชคเซ เชฆเซเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชคเซเชจ เชเชฐเซเชถ:
เชเซเชเชจเชพ เชเชเชเชกเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชเซ, เชเซ "เชตเชฐเซเชฒเซเชก เชธเซเชเซเช" เชกเซเชเชพเชฌเซเชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเซ. เชคเซเชฎเชจเซ เชจเซเชเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเชคเชฟเชนเชพเชธ เชฆเชฐเซเชถเชพเชตเชคเชพ เชเชเชเชกเชพเช เชเซ. เช
เชธเซเชเชฏเชพเชฎเชคเซเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชตเซเชฏเชตเชนเชพเชฐเซ เชฆเซเชตเชพเชฐเชพ เชฌเชฆเชฒเชพเชฏ เชเซ. เชธเชเชชเชคเซเชคเชฟ เชซเชเซเชค เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชฌเชฆเชฒเชพเชฏ เชเซ, เชคเซเชฅเซ เชตเซเชฏเชตเชนเชพเชฐเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ, เชเช เชจเชตเซ เชเชฌเซเชเซเชเซเช เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชธเชเชชเชคเซเชคเชฟเชจเซเช เชตเชฐเซเชคเชฎเชพเชจ เชฎเซเชฒเซเชฏ เชเชคเชฟเชนเชพเชธเชฎเชพเช เชเชพเชฏ เชเซ.
IBM เชเซเชฒเชพเชเชก
เช
เชฎเซ เชเช เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเซเช เชเซเช
เชฌเซเชฒเซเชเชเซเชจ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเซเชณเชญเซเชค เชฌเซเชฒเซเชเชเซเชจ เชจเซเชเชตเชฐเซเช เชฌเชจเชพเชตเซ เชฌเซเชฒเซเชเชเซเชจ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชฌเชจเชพเชตเซ เช เชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซ เชฌเซเชฒเซเชเชเซเชจ เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชชเชฐเชฅเซ เชเชตเซเชจเซเชเซเชธ เชฌเชนเชพเชฐ เชเชพเชขเซ
เชจเซเชเซเชจเชพ IBM เชฌเซเชฒเซเชเชเซเชจ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเชพ เชธเซเชเซเชฐเซเชจเชถเซเช เชเซ. เช เชฌเซเชฒเซเชเชเซเชจ เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซเช เชคเซ เช เชเชเซเชจเซ เชธเซเชเชจเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เชเชพเชฐเซเชฏเชจเชพ เช เชตเชเชพเชถเชจเซเช เชจเชฟเชฆเชฐเซเชถเชจ เชเซ. เชคเซเชฅเซ, เช เชฎเชพเชฐเชพ เชนเซเชคเซเช เชฎเชพเชเซ, เช เชฎเซ เชเช เชธเชเชธเซเชฅเชพ เชฌเชจเชพเชตเซเช เชเซเช:
เช
เชฎเซ เชคเซเชฎเชพเช เชจเซเชกเซเชธ เชฌเชจเชพเชตเซเช เชเซเช: Orderer CA, Org1 CA, Orderer Peer:
เช
เชฎเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฌเชจเชพเชตเซเช เชเซเช:
เชเช เชเซเชจเชฒ เชฌเชจเชพเชตเซ เช
เชจเซ เชคเซเชจเซ เชธเชฟเชเชเซเชเชจ เชเชนเซ:
เชเชตเชถเซเชฏเชเชชเชฃเซ เชเซเชจเชฒ เชฌเซเชฒเซเชเชเซเชจ เชเซ, เชคเซเชฅเซ เชคเซ เชฌเซเชฒเซเช เชถเซเชจเซเชฏ (เชเซเชจเซเชธเชฟเชธ เชฌเซเชฒเซเช) เชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ:
เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชฒเชเชตเซ
/*
* 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 เชซเชเชเซเชถเชจ เชกเซเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชชเซเชฐเชพเชชเซเชค เชเชฐเชถเซ เชคเซเชตเซ เชเชตเซเชจเซเชเซเชธ เชเชจเชฐเซเช เชเชฐเซ เชเซ.
- เชเซเชฏเชพเชฐเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเซเชเซเช เชเชจเซเชธเซเชเชจเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชเชจเซเชธเซเชเชจเซเชเชฟเชเช เชซเชเชเซเชถเชจเชจเซ เชเชเชตเชพเชฐ เชฌเซเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชตเชพเชธเซเชคเชตเชฎเชพเช, เชคเซ เชฎเชพเชคเซเชฐ เชเช เช เชตเชพเชฐ เชจเชนเซเช, เชชเชฐเชเชคเซ เชฆเชฐเซเช เชตเชเชคเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชตเชฐเซเชเชจ เชฌเชฆเชฒเชพเชฏ เชเซ. เชคเซเชฅเซ, เชเชพเชฒเซ เชเชฐเซ เชธเชพเชฅเซ เชธเซเชเชฟ เชถเชฐเซ เชเชฐเชตเซ เช เชเชฐเชพเชฌ เชตเชฟเชเชพเชฐ เชเซ, เชเชพเชฐเชฃ เชเซ เชนเชตเซ, เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชจเซเช เชตเชฐเซเชเชจ เชฌเชฆเชฒเซเชถเซเช, เชคเซเชฏเชพเชฐเซ เช เชฎเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชเชฟ เชเซเชฎเชพเชตเซเชถเซเช. เชชเชฐเชเชคเซ เชคเซ เช เซเช เชเซ, เชนเซเช เชซเชเซเชค เชถเซเชเซ เชฐเชนเซเชฏเซ เชเซเช).
- เชเชเชพเชเชจเซเชเซเชธ เช เชจเซ เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเซเชเชฟ เช JSON เชกเซเชเชพ เชธเซเชเซเชฐเชเซเชเชฐเซเชธ เชเซ. เชเซเชเชธเชจเซ เชเชชเชฏเซเช เชกเซเชเชพ เชฎเซเชจเซเชชเซเชฏเซเชฒเซเชถเชจ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ.
- เชคเชฎเซ getState เชซเชเชเซเชถเชจ เชเซเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเชเชชเชคเซเชคเชฟเชจเซเช เชตเชฐเซเชคเชฎเชพเชจ เชฎเซเชฒเซเชฏ เชฎเซเชณเชตเซ เชถเชเซ เชเซ เช เชจเซ เชชเซเชเชธเซเชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซเชจเซ เช เชชเชกเซเช เชเชฐเซ เชถเชเซ เชเซ.
- เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ, AddAccount เชซเชเชเซเชถเชจ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเชฎเชพเช เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชเชเชพเชเชจเซเชเซเชธเชจเซ เชฎเชนเชคเซเชคเชฎ เชธเชเชเซเชฏเชพ (maxAccounts = 5) เชฎเชพเชเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชจเซ เช เชนเซเช เชเช เชเชพเชฎ เชเซ (เชถเซเช เชคเชฎเซ เชจเซเชเชงเซเชฏเซเช เชเซ?), เชเซ เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเชเชเซเชฏเชพเชฎเชพเช เช เชจเชเชค เชตเชงเชพเชฐเซ เชคเชฐเชซ เชฆเซเชฐเซ เชเชพเชฏ เชเซ. เชเชตเซ เชญเซเชฒเซ เชเชพเชณเชตเซ เชเซเชเช)
เชเชเชณ, เช เชฎเซ เชเซ เชจเชฒเชฎเชพเช เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชฒเซเชก เชเชฐเซเช เชเซเช เช เชจเซ เชคเซเชจเซ เชเชจเซเชธเซเชเชจเซเช เชเชฐเซเช เชเซเช:
เชเชพเชฒเซ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซเชจเชพ เชตเซเชฏเชตเชนเชพเชฐเชจเซ เชเซเชเช:
เชเชพเชฒเซ เช
เชฎเชพเชฐเซ เชเซเชจเชฒ เชตเชฟเชถเซเชจเซ เชตเชฟเชเชคเซ เชเซเชเช:
เชชเชฐเชฟเชฃเชพเชฎเซ, เช
เชฎเชจเซ IBM เชเซเชฒเชพเชเชกเชฎเชพเช เชฌเซเชฒเซเชเชเซเชจ เชจเซเชเชตเชฐเซเชเชจเซ เชจเซเชเซเชจเซ เชเชเซเชคเชฟ เชฎเชณเซ เชเซ. เชเชเซเชคเชฟ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชธเชฐเซเชตเชฐ เชชเชฐ เชเชฎเซเชเซเชจ เชเซเชฒเชพเชเชกเชฎเชพเช เชเชพเชฒเชคเซ เชกเซเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชชเชฃ เชฌเชคเชพเชตเซ เชเซ (เชเชเชณเชจเชพ เชตเชฟเชญเชพเชเชฎเชพเช เชคเซเชจเชพ เชตเชฟเชถเซ เชตเชงเซ):
Hyperledger Fabric API เชเซเชฒเซเชธ เชฎเชพเชเซ GUI เชฌเชจเชพเชตเชตเซเช
เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช เชชเชพเชธเซ เชเช API เชเซ เชเซเชจเซ เชเชชเชฏเซเช เช เชฎเชพเชเซ เชเชฐเซ เชถเชเชพเชฏ เชเซ:
- เชเซเชจเชฒ เชฌเชจเชพเชตเซ;
- เชเชจเซเชเซเชถเชจเซเชธ เชชเซเช เชฐ เชเซ เชเซเชจเชฒ;
- เชเซเชจเชฒเชฎเชพเช เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเซเชเซเชเชจเซ เชธเซเชฅเชพเชชเชจเชพ เช เชจเซ เชเชจเซเชธเซเชเชจเซเชเซเชถเชจ;
- เชเซเชฒเชฟเชเช เชตเซเชฏเชตเชนเชพเชฐเซ;
- เชฌเซเชฒเซเชเชเซเชจ เชชเชฐ เชฎเชพเชนเชฟเชคเซเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเซ.
เชเชชเซเชฒเชฟเชเซเชถเชจ เชตเชฟเชเชพเชธ
เช
เชฎเชพเชฐเชพ เชกเซเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช เช
เชฎเซ API เชจเซ เชเชชเชฏเซเช เชซเชเซเชค เชตเซเชฏเชตเชนเชพเชฐเซเชจเซ เชเซเชฒ เชเชฐเชตเชพ เช
เชจเซ เชฎเชพเชนเชฟเชคเซเชจเซ เชตเชฟเชจเชเชคเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชถเซเช, เชเชพเชฐเชฃ เชเซ เช
เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช IBM เชฌเซเชฒเซเชเชเซเชจ เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชพเชเซเชจเชพ เชชเชเชฒเชพเช เชชเซเชฐเซเชฃ เชเชฐเซ เชฒเซเชงเชพ เชเซ. เช
เชฎเซ เชฎเชพเชจเช เชเซเชเชจเซเชฒเซเชเซ เชธเซเชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ GUI เชฒเชเซเช เชเซเช: Express.js + Vue.js + Node.js. เชคเชฎเซ เชเชงเซเชจเชฟเช เชตเซเชฌ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเชตเซเช เชคเซ เช
เชเชเซ เชเช เช
เชฒเช เชฒเซเช เชฒเชเซ เชถเชเซ เชเซ. เช
เชนเซเช เชนเซเช เชชเซเชฐเชตเชเชจเซเชจเซ เชถเซเชฐเซเชฃเซเชจเซ เชเช เชฒเชฟเชเช เชฎเซเชเซเชถ เชเซ เชฎเชจเซ เชธเซเชฅเซ เชตเชงเซ เชเชฎเซเชฏเซเช:
- 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 เชจเซเช เชตเชฐเซเชฃเชจ เชเซเชฎเชพเช เชถเชพเชฎเซเชฒ เชเซ
เชเชฎเซเชเซเชจ เชเซเชฒเชพเชเชกเชฎเชพเช เชกเซเชฎเซ เชเชชเซเชฒเชฟเชเซเชถเชจ
เชฎเซเช เชเชฎเซเชเซเชจ เชชเชฐ เชเชชเซเชฒเชฟเชเซเชถเชจ เช
เชชเชฒเซเชก เชเชฐเซ เชเชพเชฐเชฃ เชเซ... IBM เชนเชเซ เชชเชฃ เชฎเชพเชฐเซเช เชเชเชพเชเชจเซเช เช
เชชเชเซเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เช
เชจเซ เชฎเชจเซ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชธเชฐเซเชตเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชจเชฅเซ. เชกเซเชฎเซเชจเชฎเชพเช เชเซเชฐเซ เชเซเชตเซ เชฐเซเชคเซ เชเชฎเซเชฐเชตเซ:
- เชฌเซเชฒเซเชเชเซเชจ เชถเชฐเซ เชเชฐเซ;
- เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเซ (เชชเชฐเชเชคเซ เชนเชตเซ เชคเชฎเซ เชจเชตเซเช เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเซ เชถเชเชคเชพ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชฎเชพเช เชเชฒเซเชฒเซเชเชฟเชค เชเชเชพเชเชจเซเชเซเชธเชจเซ เชฎเชนเชคเซเชคเชฎ เชธเชเชเซเชฏเชพ เชชเชนเซเชเชเซ เชเช เชเซ);
- เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเซเชเชฟ เชฎเซเชณเชตเซ;
- เชเชฒเชฟเชธ, เชฌเซเชฌ เช เชจเซ เชเชฒเซเชเซเชธ เชตเชเซเชเซ เชธเชฟเชเชเซเชเชจ เชธเชฟเชเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ;
- เชเชตเซเชจเซเชเซเชธ เชชเซเชฐเชพเชชเซเชค เชเชฐเซ (เชชเชฐเชเชคเซ เชนเชตเซ เชเชตเซเชจเซเชเซเชธ เชฌเชคเชพเชตเชตเชพเชจเซ เชเซเช เชฐเซเชค เชจเชฅเซ, เชคเซเชฅเซ เชธเชฐเชณเชคเชพ เชฎเชพเชเซ, เชเชจเซเชเชฐเชซเซเชธ เชเชนเซ เชเซ เชเซ เชเชตเซเชจเซเชเซเชธ เชธเชชเซเชฐเซเชเซเชก เชจเชฅเซ);
- เชฒเซเช เชเซเชฐเชฟเชฏเชพเช.
เชชเซเชฐเชฅเชฎ เชเชชเชฃเซ เชฌเซเชฒเซเชเชเซเชจ เชถเชฐเซ เชเชฐเซเช เชเซเช:
เชเชเชณ, เช
เชฎเซ เช
เชฎเชพเชฐเซเช เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเซเช เชเซเช, เชฌเซเชฒเซเชจเซเชธ เชธเชพเชฅเซ เชธเชฎเชฏ เชฌเชเชพเชกเซ เชจเชนเซเช:
เช
เชฎเชจเซ เชฌเชงเชพ เชเชชเชฒเชฌเซเชง เชเชเชพเชเชจเซเชเซเชธเชจเซ เชธเซเชเชฟ เชฎเชณเซ เชเซ:
เช
เชฎเซ เชชเซเชฐเซเชทเช เช
เชจเซ เชชเซเชฐเชพเชชเซเชคเชเชฐเซเชคเชพเชจเซ เชชเชธเชเชฆ เชเชฐเซเช เชเซเช เช
เชจเซ เชคเซเชฎเชจเชพ เชฌเซเชฒเซเชจเซเชธ เชฎเซเชณเชตเซเช เชเซเช. เชเซ เชชเซเชฐเซเชทเช เช
เชจเซ เชชเซเชฐเชพเชชเซเชคเชเชฐเซเชคเชพ เชธเชฎเชพเชจ เชนเซเชฏ, เชคเซ เชคเซเชจเซเช เชเชเชพเชเชจเซเช เชซเชฐเซ เชญเชฐเชพเช เชเชถเซ:
เชฒเซเชเชฎเชพเช เช
เชฎเซ เชตเซเชฏเชตเชนเชพเชฐเซเชจเชพ เช
เชฎเชฒเชจเซเช เชจเชฟเชฐเซเชเซเชทเชฃ เชเชฐเซเช เชเซเช:
เชเชฐเซเชเชฐ, เชกเซเชฎเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชธเชพเชฅเซ เชคเซ เชฌเชงเซ เช เชเซ. เชจเซเชเซ เชคเชฎเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เช
เชฎเชพเชฐเซ เชตเซเชฏเชตเชนเชพเชฐ เชเซเช เชถเชเซ เชเซ:
เช
เชจเซ เชตเซเชฏเชตเชนเชพเชฐเซเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชธเซเชเชฟ:
เช เชธเชพเชฅเซ, เช
เชฎเซ Citcoin เชจเซเชเชตเชฐเซเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ PoC เชจเชพ เช
เชฎเชฒเซเชเชฐเชฃเชจเซ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชชเซเชฐเซเชฃ เชเชฐเซเชฏเซเช เชเซ. เชธเชฟเชเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชฟเชเชเซเชเชจเชจเซ เชธเชเชชเซเชฐเซเชฃ เชจเซเชเชตเชฐเซเช เชฌเชจเชตเชพ เชฎเชพเชเซ เชฌเซเชเซเช เชถเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ? เชฌเชนเซ เชเชเซ:
- เชเชเชพเชเชจเซเช เชฌเชจเชพเชตเชตเชพเชจเชพ เชคเชฌเชเซเชเซ, เชเชพเชจเชเซ/เชธเชพเชฐเซเชตเชเชจเชฟเช เชเซเชจเชพ เชเชจเชฐเซเชถเชจเชจเซ เช เชฎเชฒ เชเชฐเซ. เชเชพเชจเชเซ เชเซ เชเชเชพเชเชจเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเชพเชธเซ เชธเชเชเซเชฐเชนเชฟเชค เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ, เชเชพเชนเซเชฐ เชเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ.
- เชเช เชธเชฟเชเซเชเซ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ เชเซเชฎเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชเชณเชเชตเชพ เชฎเชพเชเซ เชจเชพเชฎเชจเซ เชฌเชฆเชฒเซ เชธเชพเชฐเซเชตเชเชจเชฟเช เชเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
- เชคเซเชจเซ เชเชพเชจเชเซ เชเซ เชตเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชฅเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชเชคเชพ เชตเซเชฏเชตเชนเชพเชฐเซเชจเซ เชเชจเซเชเซเชฐเชฟเชชเซเช เชเชฐเซ.
เชจเชฟเชทเซเชเชฐเซเชท
เช เชฎเซ เชจเซเชเซเชจเชพ เชเชพเชฐเซเชฏเซ เชธเชพเชฅเซ Citcoin เชจเซเชเชตเชฐเซเชเชจเซ เช เชฎเชฒ เชเชฐเซเชฏเซ เชเซ: เชเช เชเชเชพเชเชจเซเช เชเชฎเซเชฐเซ, เชฌเซเชฒเซเชจเซเชธ เชฎเซเชณเชตเซ, เชคเชฎเชพเชฐเซเช เชเชเชพเชเชจเซเช เชเซเชช เช เชช เชเชฐเซ, เชเช เชเชเชพเชเชจเซเชเชฎเชพเชเชฅเซ เชฌเซเชเชพ เชเชเชพเชเชจเซเชเชฎเชพเช เชธเชฟเชเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเชฐ เชเชฐเซ. เชคเซ, PoC เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เช เชฎเชจเซ เชถเซเช เชเชฐเซเช เชฅเชฏเซ?
- เชคเชฎเชพเชฐเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชฌเซเชฒเซเชเชเซเชจ เช เชจเซ เชเชพเชธ เชเชฐเซเชจเซ เชนเชพเชเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเชเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ;
- IBM เช เชฅเชตเชพ Amazon เชตเชพเชฆเชณเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชถเซเชเซ;
- JS เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชญเชพเชทเชพ เช เชจเซ เช เชฎเซเช เชตเซเชฌ เชซเซเชฐเซเชฎเชตเชฐเซเช เชถเซเชเซ;
- เชเซ เช เชฎเซเช เชกเซเชเชพเชจเซ เชฌเซเชฒเซเชเชเซเชจเชฎเชพเช เชจเชนเซเช, เชชเชฐเชเชคเซ เช เชฒเช เชกเซเชเชพเชฌเซเชเชฎเชพเช เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชชเชเซ เชเชเซเชเชฐเชฃ เชเชฐเชตเชพเชจเซเช เชถเซเชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, PostgreSQL เชธเชพเชฅเซ;
- เช เชจเซ เชเซเชฒเซเชฒเซเช เชชเชฐเชเชคเซ เชเชเชพเชฎเชพเช เชเชเซเช เชจเชนเซเช - เชคเชฎเซ Linux เชจเชพ เชเซเชเชพเชจ เชตเชฟเชจเชพ เชเชงเซเชจเชฟเช เชตเชฟเชถเซเชตเชฎเชพเช เชเซเชตเซ เชถเชเชคเชพ เชจเชฅเซ!)
เช เชฒเชฌเชคเซเชค, เชคเซ เชฐเซเชเซเช เชตเชฟเชเซเชเชพเชจ เชจเชฅเซ, เชชเชฐเชเชคเซ เชคเชฎเชพเชฐเซ เชธเชเชค เชฎเชนเซเชจเชค เชเชฐเชตเซ เชชเชกเชถเซ!
GitHub เชชเชฐ เชธเซเชคเซเชฐเซเชคเซ
เชธเซเชคเซเชฐเซเช เชเชฃเชพเชตเซเชฏเซเช เชนเชคเซเช
เชเซเชเชฒเซเช ยซเชธเชฐเซเชตเชฐยป โ Node.js เชธเชฐเซเชตเชฐ
เชเซเชเชฒเซเช ยซเชเซเชฒเชพเชเชจเซเชยป โ Node.js เชเซเชฒเชพเชฏเชจเซเช
เชเซเชเชฒเซเช ยซblockchain"(เชชเซเชฐเชพเชฎเซเชเชฐ เชฎเซเชฒเซเชฏเซ เช
เชจเซ เชเซเช, เช
เชฒเชฌเชคเซเชค, เชฌเชฟเชจ-เชเชพเชฐเซเชฏเชเชพเชฐเซ เชเซ เช
เชจเซ เชฎเชพเชคเซเชฐ เชเช เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ):
- เชเชฐเชพเชฐ โ เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเซเชเซเช เชธเซเชฐเซเชธ เชเซเชก
- เชตเซเชฒเซเช โ เชนเชพเชฏเชชเชฐเชฒเซเชเชฐ เชซเซเชฌเซเชฐเชฟเช API เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ.
- *.cds - เชธเซเชฎเชพเชฐเซเช เชเซเชจเซเชเซเชฐเชพเชเซเชเชจเซ เชธเชเชเชฒเชฟเชค เชเชตเซเชคเซเชคเชฟเช
- *.json เชซเชพเชเชฒเซ - Hyperledger Fabric API เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ
เชคเซ เชฎเชพเชคเซเชฐ เชถเชฐเซเชเชค เชเซ!
เชธเซเชฐเซเชธ: www.habr.com