เจตเฉˆเฉฑเจฌ 3.0 เจตเฉ‡เจต เจฆเฉ€ เจธเจตเจพเจฐเฉ€ เจ•เจฐเฉ‹

เจกเจฟเจตเฉˆเจฒเจชเจฐ เจ•เฉเจฐเจฟเจธเจŸเฉ‹เจซ เจตเจฐเจกเฉ‹เจŸ เจจเฉ‡ เจ†เจจเจฒเจพเจˆเจจ เจ•เฉ‹เจฐเจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€เฅคเจตเฉ‡เจตเจœเจผ เจฆเฉ‡ เจจเจพเจฒ เจตเฉˆเฉฑเจฌ 3.0 เจจเฉ‚เฉฐ เจฎเจพเจธเจŸเจฐ เจ•เจฐเจจเจพ' เจœเฉ‹ เจ‰เจธเจจเฉ‡ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

เจตเฉˆเฉฑเจฌ 3.0 เจตเฉ‡เจต เจฆเฉ€ เจธเจตเจพเจฐเฉ€ เจ•เจฐเฉ‹

เจธเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจฌเจพเจฐเฉ‡ เจฅเฉ‹เฉœเจพ เจœเจฟเจนเจพ เจฆเฉฑเจธเฉ‹เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจ•เฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจ•เฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉˆ?

เจฎเฉˆเจ‚ เจฒเจ—เจญเจ— 15 เจธเจพเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉˆเฉฑเจฌ เจตเจฟเจ•เจพเจธ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚, เจœเจฟเจ†เจฆเจพเจคเจฐ เจ‡เฉฑเจ• เจซเฉเจฐเฉ€เจฒเจพเจ‚เจธเจฐ เจตเจœเฉ‹เจ‚เฅค

เจ‡เฉฑเจ• เจฌเฉˆเจ‚เจ•เจฟเฉฐเจ— เจธเจฎเฉ‚เจน เจฒเจˆ เจตเจฟเจ•เจพเจธเจธเจผเฉ€เจฒ เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจฐเจœเจฟเจธเจŸเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจฌเจฒเจพเจ•เจšเฉˆเจจ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจจเฉ‚เฉฐ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจ•เฉฐเจฎ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†เฅค เจ‰เจธ เจธเจฎเฉ‡เจ‚, เจฎเฉˆเจจเฉ‚เฉฐ เจฌเจฒเจพเจ•เจšเฉˆเจจ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจฌเจพเจฐเฉ‡ เจฌเจนเฉเจค เจ•เฉเจ เจจเจนเฉ€เจ‚ เจชเจคเจพ เจธเฉ€, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เฉเจฐเจฟเจชเจŸเฉ‹ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเจพ เจธเฉ€, เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจตเฉ‡เจธเจผเจ• เจตเจœเฉ‹เจ‚เฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ‡เจธ เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจชเจฐ, เจ‡เจน เจธเฉ‹เจšเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจฌเฉˆเจ‚เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจ…เจœเจฟเจนเฉ‡ เจนเฉฑเจฒ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉˆ, เจฎเฉˆเจ‚ เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจœเจฒเจฆเฉ€ เจนเฉ€ เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพเฅค เจฆเจธเจคเจ–เจค เจšเฉ‡เจจ.

เจฎเฉˆเจ‚ เจ‡เจธเจฆเจพ เจ‡เฉฑเจ• เจฌเฉ€เจŸเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฎเฉ‡เจจเจจเฉˆเฉฑเจŸ 'เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆเฅค เจ‰เจธ เจธเจฎเฉ‡เจ‚, เจ•เฉ‹เจˆ [เจตเฉ‡เจตเจœเจผ เจชเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ] เจฐเจพเจˆเจก เจจเจนเฉ€เจ‚ เจธเฉ€, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจจเฉ‡เจธเจŸเจก JSON เจจเจพเจฒ เจ…เจจเฉเจตเจพเจฆ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจญ เจคเฉ‹เจ‚ เจธเจฐเจฒ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ•เฉ€เจคเจพ. เจชเจฐ เจฎเฉเฉฑเจ– เจŸเฉ€เจšเจพ เจฐเจพเจˆเจก เจฒเจพเจ‚เจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉ‹เจฐ เจ‰เฉฑเจจเจค เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจœเฉ‹เฉœเจจเจพ เจธเฉ€เฅค เจ…เจคเฉ‡ เจ‡เจน เจฎเฉเฉฑเจ– เจ•เจพเจฐเจจ เจนเฉˆ เจ•เจฟ เจฎเฉˆเจ‚ เจ•เฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจ•เจฟเจ‰เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจ‡เจ†: เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจ…เจ—เจฒเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจ•เฉ‡เจ‚เจฆเจฐเฉ€เจ•เฉเจฐเจฟเจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ (dApp) เจฆเฉ€ เจธเจฟเจฐเจœเจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจ•เฉ‹เจฐเจธ เจฆเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจชเจนเจฟเจฒเฉ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจญ เจคเฉ‹เจ‚ เจ†เจธเจพเจจ เจฒเฉฑเจ—เฉ‡ เจ…เจคเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจชเจนเจฟเจฒเฉ‚ เจธเจญ เจคเฉ‹เจ‚ เจšเฉเจฃเฉŒเจคเฉ€เจชเฉ‚เจฐเจจ เจธเจจ?

เจธเจญ เจคเฉ‹เจ‚ เจธเจงเจพเจฐเจจ เจ—เฉฑเจฒ เจ‡เจน เจธเฉ€ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจพเจฐเฉ‡ เจ•เฉฐเจฎเจพเจ‚ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจธเจฎเจพเจ‚ เจธเฉ€เฅค เจ•เฉ‹เจฐเจธ เจฆเจพ เจฌเจฟเฉฐเจฆเฉ‚ เจ•เฉเจ เจธเจฟเฉฑเจ–เจฃเจพ เจนเฉˆ, เจจเจพ เจ•เจฟ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจฎเฉเจ•เจพเจฌเจฒเจพ เจ•เจฐเจจเจพ. เจตเจฟเจ†เจ–เจฟเจ†เจตเจพเจ‚ เจฌเจนเฉเจค เจชเจนเฉเฉฐเจšเจฏเฉ‹เจ— เจธเจจ เจ…เจคเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเจพเจ‚เจค เจธเจงเจพเจฐเจจ เจชเจฐ เจตเจฟเจ†เจชเจ• เจธเจจเฅค เจ‡เจธ เจจเจพเจฒ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจฟเจธเจผเจฟเจ†เจ‚ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจฎเจฟเจฒเฉ€เฅค

เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเจพเจจเฉ‚เฉฐ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเฉ‹เจšเจฃ เจ…เจคเฉ‡ เจ•เจˆ เจตเจพเจฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจ•เฉเจ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจฒเจˆ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจธเฉ€เฅค เจ‡เจน เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจตเจฟเจšเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจ–เจฃ เจ…เจคเฉ‡ เจธเจฎเจเจฃ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค

เจ•เจˆ เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ, เจฎเฉˆเจ‚ เจฅเจฟเจŠเจฐเฉ€ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจนเฉ€เจ‚ เจธเจฎเจ เจธเจ•เจฟเจ†เฅค เจธเจพเจจเฉ‚เฉฐ 'เจ•เจพเจชเฉ€/เจชเฉ‡เจธเจŸ' เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจธเฉ€, เจธเจพเจจเฉ‚เฉฐ เจธเจพเจฐเจพ เจ•เฉ‹เจก เจ–เฉเจฆ เจฒเจฟเจ–เจฃเจพ เจชเฉˆเจ‚เจฆเจพ เจธเฉ€, เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจธเจพเจจเฉ‚เฉฐ เจธเจญ เจ•เฉเจ เจฌเจฟเจนเจคเจฐ เจขเฉฐเจ— เจจเจพเจฒ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจฎเจฟเจฒเฉ€เฅค

เจธเจญ เจคเฉ‹เจ‚ เจ”เจ–เฉ€ เจ—เฉฑเจฒ เจ‡เจน เจธเฉ€ เจ•เจฟ เจฌเจนเฉ-เจšเฉ‹เจฃ เจตเจพเจฒเฉ‡ เจ•เจพเจฐเจœ เจตเจฟเฉฑเจš เจธเจตเจพเจฒ เจนเจฎเฉ‡เจธเจผเจพ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ‡ เจธเจจเฅค เจฎเฉ‡เจฐเฉ€ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจธเฉฐเจชเฉ‚เจฐเจฃ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจตเจพเจฒ เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจฎเฉ‚เจฒ เจธเจชเฉ€เจ•เจฐ เจฆเฉเจ†เจฐเจพ เจฒเจฟเจ–เฉ‡ เจ—เจ เจธเจจ, เจ‡เจธ เจฒเจˆ เจ•เจˆ เจตเจพเจฐ เจ—เจฒเจคเจซเจนเจฟเจฎเฉ€เจ†เจ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจธเจจเฅค

เจธเจผเจพเจ‡เจฆ เจ“เจฐเฉ‡เจ•เจฒเจธ เจ…เจคเฉ‡ NFTs เจจเฉ‚เฉฐ เจธเจฎเจฐเจชเจฟเจค เจ•เฉ‹เจฐเจธ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ•เฉ‹เจฐเจธ เจฆเจพ เจฎเฉเฉฑเจ– เจŸเฉ€เจšเจพ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉˆ. เจซเจฟเจฐ, เจ‡เจธเจฆเฉ‡ เจธเจพเจฐเฉ‡ เจชเจนเจฟเจฒเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจเจฃ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ, เจฌเฉ‡เจธเจผเจ•, เจชเฉเจฐเจฏเฉ‹เจ— เจ•เจฐเจจ เจ…เจคเฉ‡ เจ…เจญเจฟเจ†เจธ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€.

เจธเจพเจจเฉ‚เฉฐ เจ‰เจธ เจนเฉฑเจฒ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจฆเฉฑเจธเฉ‹ เจœเจฟเจธ 'เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจชเฉ‚เจฐเฉ‡ เจ•เฉ‹เจฐเจธ เจฆเฉŒเจฐเจพเจจ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ - 'เจ•เฉ‚เจชเจจ เจฌเจพเจœเจผเจพเจฐ'? เจ•เฉ€ เจฎเฉˆเจ‚ เจ•เฉเจ เจ•เฉ‹เจก เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจตเฉ€ เจฆเฉ‡เจ– เจธเจ•เจฆเจพ เจนเจพเจ‚?

เจนเจพเจ‚, เจ…เจธเฉ€เจ‚ 'เจ•เฉ‚เจชเจจ เจฌเจพเจœเจผเจพเจฐ' 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ‡เจน เจ‡เฉฑเจ• เจ…เจœเจฟเจนเจพ เจฌเจพเจœเจผเจพเจฐ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจฒเฉ‹เจ• เจ•เฉ‚เจชเจจ เจตเฉ‡เจšเจฆเฉ‡ เจ…เจคเฉ‡ เจ–เจฐเฉ€เจฆเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เฉ€เจฎเจค 'เจคเฉ‡ เจšเฉ€เจœเจผเจพเจ‚ เจ…เจคเฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ–เจฐเฉ€เจฆเจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจนเจฐเฉ‡เจ• เจ•เฉ‚เจชเจจ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจกเจฟเจœเฉ€เจŸเจฒ เจธเฉฐเจชเจคเฉ€ เจฆเฉเจ†เจฐเจพ เจฆเจฐเจธเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจธเจชเจฒเจพเจ‡เจฐ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจ›เฉ‹เจŸ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจตเฉˆเฉฑเจฌ 3.0 เจตเฉ‡เจต เจฆเฉ€ เจธเจตเจพเจฐเฉ€ เจ•เจฐเฉ‹

เจ•เจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚, เจธเจชเจฒเจพเจ‡เจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ•เฉ‚เจชเจจเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฟเจธเจŸเจฎ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€เฅค เจซเจฟเจฐ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจคเจธเจฆเฉ€เจ• เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจ•เฉ‚เจชเจจ เจ–เฉ‹เจœเจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€เฅค

เจตเฉˆเฉฑเจฌ 3.0 เจตเฉ‡เจต เจฆเฉ€ เจธเจตเจพเจฐเฉ€ เจ•เจฐเฉ‹

เจ•เฉ‹เจฐเจธ เจฆเฉŒเจฐเจพเจจ เจ…เจธเฉ€เจ‚ เจ•เจˆ เจจเจตเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‹เจŸเจฟเฉฐเจ— เจชเฉเจฐเจฃเจพเจฒเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจชเจฒเจพเจ‡เจฐเจพเจ‚ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจจ เจ…เจคเฉ‡ เจฌเจฒเฉˆเจ•เจฒเจฟเจธเจŸ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจชเจนเจฟเจฒเจพเจ‚, เจ…เจธเฉ€เจ‚ เจธเจฎเจพเจฐเจŸ เจธเฉฐเจชเจคเฉ€เจ†เจ‚, เจธเจฎเจพเจฐเจŸ เจ–เจพเจคเจฟเจ†เจ‚, เจ…เจคเฉ‡ dApp เจ–เจพเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ เจ…เจคเฉ‡ เจตเฉˆเจฐเฉ€เจซเจพเจ‡เจฐ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจฎเฉ‚เจฒ เจ—เฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจ–เจฟเจ†เฅค เจตเฉˆเจฐเฉ€เจซเจพเจ‡เจฐ เจซเฉฐเจ•เจธเจผเจจ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจ–เจพเจคเฉ‡ เจฆเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจตเจฟเจนเจพเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‰เจน เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจฆเฉ‡ เจฆเจธเจคเจ–เจคเจพเจ‚ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจตเฉˆเจฐเฉ€เจซเจพเจ‡เจฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‹เจฐ "เจจเจฟเจฏเจฎ" เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค

{-# STDLIB_VERSION 3 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}
letownerPublicKey = base58'H8ndsHjBha6oJBQQx33zqbP5wi8sQP7hwgjzWUv3q95M'
@Verifier(tx)
funcverify() = {
    matchtx {
        cases: SetScriptTransaction=>sigVerify(tx.bodyBytes, tx.proofs[0], ownerPublicKey)
        cased: DataTransaction=>true
        case_ =>false
    }
}

เจซเจฟเจฐ เจ…เจธเฉ€เจ‚ เจ•เฉ‚เจชเจจ เจœเฉ‹เฉœเจจเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ‡เฅค เจ…เจธเฉ€เจ‚ dApp เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจฒเจพเจ•เจšเฉˆเจจ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฎเฉเฉฑเจ–-เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจœเฉ‹เฉœเจฟเจ†เจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ - เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจเฅค เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ, invokeScript เจจเจพเจฒ เจœเฉ‹เฉœเจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฌเจฒเจพเจ•เจšเฉˆเจจ เจฆเฉ‡ เจฌเจพเจนเจฐเฉ‹เจ‚ เจ‡เฉฑเจ• dApp เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจพเจฒ เจ•เจฐเจจ เจฏเฉ‹เจ— เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจ•เฉ‹เจฐเจธ เจฆเฉŒเจฐเจพเจจ เจตเจฐเจคเฉ‡ เจ—เจ เจกเฉ‡เจŸเจพ เจŸเฉเจฐเจพเจ‚เจœเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ•เจฟเจธเจฎ เจฎเจพเจฐเจ•เฉ€เจŸเจชเจฒเฉ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ‚เจชเจจ เจœเฉ‹เฉœ เจฐเจนเฉ€ เจธเฉ€:

letdatajson = {
    "title":        "t-shirt with , vote 1",
    "coupon_price": 10000000,
    "old_price":    1000000000,
    "new_price":    100000000,
    "address":      "Universe",
    "description":  "I want you to make love, not war, i know you've heard it before",
    "image":        "https://bit.ly/2EXTghg"
}
it('add item', asyncfunction(){
    letts = invokeScript({
       dApp: dappAddress,
           call:{
               function:"addItem",
               args:[
                    { type:"string", value: datajson.title },
                    { type:"integer", value: datajson.coupon_price },
                    { type:"string", value: JSON.stringify(datajson) }
               ]},
               payment: []
           }, accountSupplierSeed)
    lettx = awaitbroadcast(ts)
    awaitwaitForTx(tx.id)
})

เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ addItem เจซเฉฐเจ•เจธเจผเจจ เจจเจพเจฒ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ–เจฐเฉ€เจฆ เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจตเจฟเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เจพเจฒ เจ•เจฐเจจ เจฏเฉ‹เจ— เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจฒเจพเจ•เจšเฉ‡เจจ เจฆเฉ‡ เจฌเจพเจนเจฐเฉ‹เจ‚ เจ•เจพเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจ‡เจน เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจพเจฐเจœ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจซเฉฐเจกเจพเจ‚ เจฆเจพ เจคเจฌเจพเจฆเจฒเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ, dApp เจกเฉ‡เจŸเจพ เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฒเจฟเจ–เจฃเจพ เจœเจพเจ‚ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ, เจ†เจฆเจฟเฅค

เจ‡เฉฑเจฅเฉ‡ addItem เจซเฉฐเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ:

@Callable(i)
funcaddItem(title: String, price: Int, data: String) = {
    letsupplierAddress = toBase58String(i.caller.bytes)
    letitem = getKeyItem(supplierAddress, title)
    if( price <= 0) thenthrow("purchase amount cannot be less than item price")
    elseif( getValueItemSupplier(item) !=NONE ) thenthrow("an item is already exist")
    else{
        WriteSet([
           DataEntry(getKeyItemSupplier(item), supplierAddress),
           DataEntry(getKeyItemPrice(item), price),
           DataEntry(getKeyItemData(item), data)
        ])
    }
}

เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‹เจŸเจฟเฉฐเจ— เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ€ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจฟเจค เจ•เจฐเจจ เจœเจพเจ‚ เจนเจŸเจพเจ‰เจฃ เจฒเจˆ เจตเฉ‹เจŸ เจฆเฉ‡เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจตเฉ‹เจŸเจฟเฉฐเจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 'เจคเฉ‡ เจฌเจพเจนเจฐเฉ€ เจชเฉเจฐเจญเจพเจต เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ, เจ‡เจน 'เจ•เจฎเจฟเจŸ-เจฐเจฟเจตเฉ€เจฒ' เจธเจ•เฉ€เจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

"เจ•เจฎเจฟเจŸ" เจชเฉœเจพเจ… เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจนเฉˆเจธเจผ เจซเฉฐเจ•เจธเจผเจจ เจ…เจคเฉ‡ "เจฒเฉ‚เจฃ" เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจตเฉ‹เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

"เจชเฉเจฐเจ—เจŸ" เจชเฉœเจพเจ… เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจตเฉ‹เจŸเจพเจ‚ เจ‡เจ•เฉฑเจ เฉ€เจ†เจ‚ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เฉฑเจฅเฉ‡ เจตเจฐเจคเฉ‡ เจ—เจ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจซเฉฐเจ•เจธเจผเจจ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ:

@Callable(i)
funcvoteCommit(item: String, hash: String) = {
    letuser = toBase58String(i.caller.bytes)
    letcommits = getValueCommitsCount(item)
    letstatus = getValueItemStatus(item)
    if( commits >=VOTERS) thenthrow("reached max num of voters")
    elseif(getValueCommit(item, user) !=NONE) thenthrow("user has already participated")
    elseif(getKeyItemSupplier(item) ==NONE) thenthrow("item does not exist")
    elseif(status !=NONE && status !=VOTING) thenthrow("voting is not possible")
    else{
        WriteSet([
           DataEntry(getKeyCommit(item, user), hash),
           DataEntry(getKeyCommitsCount(item), commits +1),
           DataEntry(getKeyItemStatus(item),if(commits ==VOTERS) thenREVEAL elseVOTING)
        ])
    }
}
>

เจคเฉเจธเฉ€เจ‚ เจ•เฉ‹เจฐเจธ เจคเฉ‹เจ‚ เจนเฉ‹เจฐ เจ•เฉ€ เจธเจฟเฉฑเจ–เจฟเจ† เจนเฉˆ?

เจ•เฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจŸเฉ‹เจ•เจจเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจ—เฉˆเจฐ-เจซเฉฐเจ—เฉ€เจฌเจฒ เจŸเฉ‹เจ•เจจ (NFTs) เจตเฉ€ เจธเจผเจพเจฎเจฒ เจธเจจ - เจŸเฉ‹เจ•เจจ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจตเจฟเจฒเฉฑเจ–เจฃ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‡เจธเจฒเจˆ เจซเฉฐเจ—เฉ€เจฌเจฒ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ†เจ–เจผเจฐเฉ€ เจชเจพเจ  เจ”เจฐเจ•เจฒ เจจเฉ‚เฉฐ เจธเจฎเจฐเจชเจฟเจค เจธเฉ€เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฌเจฒเจพเจ•เจšเฉˆเจจ เจฌเจพเจนเจฐเฉ€ เจฆเฉเจจเฉ€เจ† เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃ เจฒเจˆ เจ“เจฐเฉ‡เจ•เจฒ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจธเจพเจกเฉ‡ เจฎเจพเจฐเจ•เฉ€เจŸเจชเจฒเฉ‡เจธ เจฒเจˆ, เจ“เจฐเฉ‡เจ•เจฒ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€ เจ…เจคเฉ‡, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเจชเจฒเจพเจ‡เจฐ เจจเฉ‚เฉฐ เจฌเจฒเฉˆเจ•เจฒเจฟเจธเจŸ เจ•เจฐเฉ‹ เจœเจฟเจธ เจจเฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจตเฉ‡เจšเฉ‡ เจ—เจ เจ•เฉ‚เจชเจจ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพเฅค

เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ:

funcgetExtValueItemWhiteListStatus(item:String) = {
    item +"_verifier_status"
}
 
letverifier = "3Mx9qgMyMhHt7WUZr6PsaXNfmydxMG7YMxv"
letVERIFIED = "verified"
letBLACKLISTED = "blacklist"
@Callable(i)
funcsetstatus(supplier: String, status: String) = {
    letaccount = toBase58String(i.caller.bytes)
    if( account !=verifier ) thenthrow("only oracle verifier are able to manage whitelist")
    elseif( status !=VERIFIED && status !=BLACKLISTED) thenthrow("wrong status")
    else{
        WriteSet([
           DataEntry(getExtValueItemWhiteListStatus(supplier), status)
        ])
    }
}

เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจฒเจพเจญเจฆเจพเจ‡เจ• เจšเฉ€เจœเจผ เจ•เฉ€ เจธเฉ€?

เจธเจญ เจคเฉ‹เจ‚ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเจฟเฉฑเจธเจพ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ, เจฒเฉˆเจ•เจšเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจˆ, เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ เจ…เจœเจผเจฎเจพเจ‡เจธเจผ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€ เจฆเฉเจ†เจฐเจพ เจ‡เจ•เจธเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจนเจพเจฐเจ• เจ•เฉฐเจฎ เจ‡เฉฑเจฅเฉ‡, เจ–เฉ‹เจœเฉ€ ะธ เจ”เจฐเจ•เจฒ.

เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจธเจฟเฉฑเจ–เจฟเจ† เจนเฉˆ เจ‰เจธ เจจเฉ‚เฉฐ เจ…เจฎเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจฃ เจฆเฉ€ เจคเฉเจธเฉ€เจ‚ เจฏเฉ‹เจœเจจเจพ เจ•เจฟเจตเฉ‡เจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹?

เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€, เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจธเฉ€ เจ•เจฟ เจ‡เจน เจ•เฉ‹เจฐเจธ เจฎเฉ‡เจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ‡ เจชเฉฑเจงเจฐ เจคเฉฑเจ• เจฒเฉˆ เจœเจพเจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพเฅค เจตเจฟเจšเจพเจฐ เจนเฉเจฃ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃเจพ เจธเฉ€ เจธเจพเจˆเจจ-เจตเฉˆเฉฑเจฌ.เจเจช เจฐเจพเจˆเจก 'เจคเฉ‡เฅค เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจฃ เจซเฉฐเจ•เจธเจผเจจ เจนเจจ, เจชเจฐ RIDE เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ เจ‡เจธ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจงเฉ‡เจฐเฉ‡ เจฒเจšเจ•เจฆเจพเจฐ เจ…เจคเฉ‡ เจ…เจจเฉเจญเจตเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจˆเจฎเฉ‡เจฒเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฎเจพเจฃเฉ€เจ•เจฐเจจ, เจฌเจนเฉ-เจชเจพเจฐเจŸเฉ€ เจธเจฎเจเฉŒเจคเฉ‡ เจ†เจฆเจฟ เจธเจฎเฉ‡เจค เจนเฉ‹เจฐ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚เฅค

เจ•เฉ‹เจฐเจธ เจตเฉ€ เจธเฉ‹เจšเจฃ เจตเจพเจฒเจพ เจธเฉ€ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจจเจตเฉ‡เจ‚ เจตเจฟเจšเจพเจฐ เจฆเจฟเฉฑเจคเฉ‡เฅค เจฎเฉˆเจจเฉ‚เฉฐ เจญเจฐเฉ‹เจธเจพ เจนเฉˆ เจ•เจฟ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจจเจคเฉ€เจœเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจ‰เจ‚เจฆเฉ‡ เจฐเจนเจฟเจฃเจ—เฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจตเจพเจฒเฉ€เจ†เจ‚ เจธเจพเจˆเจŸเจพเจ‚ เจฒเจˆ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ ๐Ÿ”ฅ DDoS เจธเฉเจฐเฉฑเจ–เจฟเจ†, VPS VDS เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจนเฉ‹เจธเจŸเจฟเฉฐเจ— เจ–เจฐเฉ€เจฆเฉ‹ | ProHoster