ãããã¯ãã§ãŒã³ã®ã¡ãªããã¯äœã§ããïŒ
ãããã¯ãã§ãŒã³ã®ååããå€æãããšããããã¯ã®ãã§ãŒã³ã§ãã ããã§ãã ãããããã®ãã§ãŒã³ã¯äœãäžããŸããïŒ æ¬è³ªçã«ãããã¯ãæ確ã«å®çŸ©ãããã«ãŒã«å ã§ããŒã¿ãæäœãããããšã確å®ã«ããããšãã§ããç¹å¥ãªæ§é ãæã€åæ£ããŒã¿ã¹ãã¬ãŒãžãã¯ãããžãŒã§ãã ãã®ä¿èšŒã«ããããããã¯ãã§ãŒã³ãããã¯ãŒã¯ã«æ¥ç¶ããŠãããã¹ãŠã®äººãããŒã¿é åãããã«ä¿åã§ããããã«ãªããŸããã€ãŸããé åå šäœã1ãæã§çœ®ãæããã ãã§ã¯äžååã§ãã ãããŠã次ã®åããŒã¿ããããããããã¯ã«ã¯ãåã®ãããã¯ã®ããã·ã¥ãå«ãŸããŠããŸããããã«ããã2ã€ã®å©ç¹ãåŸãããŸãã
- å®æãããã§ãŒã³ã®äžéãããã¯ã眮ãæããããšã¯äžå¯èœã§ãã
- ããã·ã¥ãå€æŽããã«ãããã¯èªäœãå€æŽããããšã¯ã§ããªãããããã§ãŒã³ã®æŽåæ§ã«éåããããšãªããããè¡ãããšã¯ã§ããŸããã
ããŒã¯ã«ããªãŒã¯ããã·ã¥ããªãŒã§ãããã®å Žåãåã ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®æå¹æ§ãç¬ç«ããŠç¢ºèªããããã«äœ¿çšãããŸãã ãã©ã³ã¶ã¯ã·ã§ã³-ããã¯ãããã¯ãã§ãŒã³å ã®ããŒã¿ã§ã
ãããã¯ãè¿œå ããäœæ¥ã¯ããããã¯ãŒã¯åå è èªèº«ãæäŸããŸãã 次ã®ãããã¯ãè¿œå ããæš©å©ã誰ã«ä»äžãããã¯ãç¹å¥ãªã¡ã«ããºã ã«ãã£ãŠæ±ºå®ãããŸãã ãããã®ã¡ã«ããºã ã®æãäžè¬çãªãã®ã¯ãProof-of-Workããã³Proof-of-Stakeã§ãã æåã«ãé±å€«ã«ãã£ãŠãããã¯ãè¿œå ãããŸã-èšç®çã«è€éãªåé¡ã解決ãããããã¯ãŒã¯åå è ã¯ããœãªã¥ãŒã·ã§ã³ã«åºã¥ããŠãããã¯ãäœæããæš©å©ã競ãåãããããã¯ã®äœæã«æåããå ±é ¬ãšããŠããã®ãããã¯ãŒã¯ããäžå®éã®é貚ãåãåããŸãã Proof-of-Stakeãããã¯ã¯ãæ€èšŒè ã«ãã£ãŠè¿œå ãããŸãããããã¯ãŒã¯ã¡ã³ããŒã¯ãããã©ãŒãã³ã¹ã«åºã¥ããŠã§ã¯ãªããã¢ã«ãŠã³ãã®ãã®ãããã¯ãŒã¯ã®å éšé貚ã®éã«åºã¥ããŠç«¶åããŸãã åæã«ã圌ãã¯å°ãªããªããŸããã圌ãããããå°ãªãä»äºãå¿ èŠã§ãã ã©ã¡ãã®å Žåããããžãã¯ã¯ãæ»æè ãåœã®ãããã¯ãè¿œå ããããã«çšŒãããšãã§ãããããå€ããè²»ããå¿ èŠããããšããããšã§ãã æåã®ã±ãŒã¹ã§ã¯-ãã€ãã³ã°æ©åšã®å Žåãä»ã®ãã€ããŒãšçµã¿åãããããã¯ãŒãšåçã§ãã 2çªç®ã®å Žå-ãããã¯ãŒã¯ã®é貚ã®50ïŒ ãè³Œå ¥ããŸãã
ã€ãŒãµãªã¢ã
ãããã¯ãã§ãŒã³ã«ã¯ããŸããŸãªå®è£ ããããŸãããæã人æ°ã®ãããã®ã¯ãããã³ã€ã³ãšã€ãŒãµãªã¢ã ã§ãã ãããã³ã€ã³ã¯ãããã¯ãã§ãŒã³ããŒã¹ã®æå·é貚ã®å®è£ ã§ãããã€ãŒãµãªã¢ã ã®ç®æšã¯ãã¹ããŒãã³ã³ãã©ã¯ãã䜿çšããŠããŸããŸãªåé¡ã解決ã§ãããã©ãããã©ãŒã ãäœæããããšã§ãã ãããã£ãŠãã€ãŒãµãªã¢ã ãåããŠç¥ãã®ã¯çã«ããªã£ãŠããŸã
ã¹ããŒãã³ã³ãã©ã¯ã
ãããã¯ãã§ãŒã³å ã®ããŒã¿ã®æäœã¯ãããããã¹ããŒãã³ã³ãã©ã¯ãã«ãã£ãŠæäŸãããŸãã ãããã¯ãã§ãŒã³ã«ä¿åããããŒã¿ãšããããã®æäœã®ããã®äžé£ã®é¢æ°ã«ã€ããŠèª¬æããŸãã é¢æ°ã®å®è¡ãšããŒã¿ãžã®ã¢ã¯ã»ã¹ã¯ãåã³ã³ãã©ã¯ããæäŸããã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠå®è¡ãããŸãã ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã³ã³ãã€ã«ãšã¯å¥ã«ãœãŒã¹ã³ãŒãããçæããããã€ããªã³ãŒããå®è¡ã§ããŸãã æ¢ã«è¿°ã¹ãããã«ãããŒã¿ã¯ãã¹ãŠã®ãããã¯ãŒã¯åå è ã«ãã£ãŠä¿åãããããããããã¯ãŒã¯åå è ã®ããŒã¿ã¯å ¬éãããŠããããããã®èªã¿åãã«ã¯è²»çšã¯ããããŸããã ããŒã¿ã®å€æŽã¯ãã©ã³ã¶ã¯ã·ã§ã³ãä»ããŠçºçããŸãã åãã©ã³ã¶ã¯ã·ã§ã³ã¯ã次ã®åœ¢åŒã®æ§é ã§è¡šãããšãã§ããŸãã
- ãã©ã³ã¶ã¯ã·ã§ã³åä¿¡è
- ããžã¿ã«éä¿¡è ã®çœ²å
- ééãããé貚ã®é
- ã«ã¹ã¿ã ããŒã¿ïŒãªãã·ã§ã³ïŒ
- ãã©ã³ã¶ã¯ã·ã§ã³ããšã®ã¬ã¹å¶é
- ã¬ã¹å䟡
ãã©ã°ã©ã5ããã³6ã®ã¬ã¹ã«ã€ããŠã¯ã次ã®ãã©ã°ã©ãã§èª¬æããå¥ã®èšäºã§ããã«è©³ãã説æããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡ã«ã¯ãå éšé貚ã³ã¹ããå¿ èŠã§ããããã©ã³ã¶ã¯ã·ã§ã³ã§ãã€ããŒãäœæãã次ã®ãããã¯ãäžè¬ãã§ãŒã³ã«å«ãŸããã®ãåŸ æ©ããŸãã å¥çŽã³ãŒãã¯é±å€«ã®ã³ã³ãã¥ãŒã¿ãŒã EVMä»®æ³ãã·ã³ã§å®è¡ãããé±å€«ã¯å ±é ¬ãšããŠææ°æãåãåããŸãã
DApp
DApp-åæ£ã¢ããªã±ãŒã·ã§ã³ãŸãã¯åæ£ã¢ããªã±ãŒã·ã§ã³ã IdealAppã®ã¹ãã«ãçæ³çã§ãããç°¡ç¥åãããã¹ãã«ã䜿çšããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ããŸããŸãªãã¯ãããžãŒã§æ§ç¯ã§ããŸããããã®äžã«ã¯ã¹ããŒãã³ã³ãã©ã¯ããåãããããã¯ãã§ãŒã³ããããŸãã çŸæç¹ã§ã¯ãDAppã¯ã¹ããŒãã³ã³ãã©ã¯ãã®ããžãã¯ãšç¹å®ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã§ãããšèšããŸãã å€ããå°ãªãã倧éã®ããŒã¿ãšã¡ãã»ãŒãžã³ã°ãçæ³çãªDAppã«ä¿åããããšãåæ£åããå¿ èŠããããŸããããããã®ãã¯ãããžãŒã¯ç»å Žãå§ããŠãããå¥ã®èšäºã«å€ããŸãã ãããã¯ãã§ãŒã³ã¯ãçŸåšã®ç¶æ ã®ã¹ãã¬ãŒãžãæäŸããã¹ããŒãã³ã³ãã©ã¯ããéããŠããžãã¹ããžãã¯ãå®è£ ããŸãã
åæ£ã¢ããªã±ãŒã·ã§ã³ãç®æããŠããçæ³ã åçã¯ããããåããŠããŸãã
DAppã䜿çšãããšããŠãŒã¶ãŒã¯ç¹å¥ãªãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããããšã«ãããã³ã³ãã¥ãŒã¿ãŒäžã®ãããã¯ãã§ãŒã³ã«çŽæ¥ã¢ã¯ã»ã¹ã§ããŸãã ãããã¯ãã§ãŒã³ã¯ãéåžžã®ã¢ãã€ã«ããã³Webã¢ããªã±ãŒã·ã§ã³ã®ãµãŒããŒåŽã§ã®ããã€ãã®åå¥ã®æäœã«ã䜿çšã§ããŸãã éžæã¯ç¹å®ã®ã¿ã¹ã¯ã«äŸåããŸãã DAppã®ç°¡æããŒãžã§ã³ã¯ã次ã®ããã«è¡šãããšãã§ããŸãã
åçã¯ã€ãŽãŒã«ã»ããªããã®ãã¬ãŒã³ããŒã·ã§ã³ããæ®åœ±ããã翻蚳ãããŠããŸã
ãã®å Žåã®ããã³ããšã³ããšããã¯ãšã³ãã¯ã¢ããªã±ãŒã·ã§ã³ã®å€å žçãªèŠçŽ ã§ããããããã¯ãã§ãŒã³ã䜿çšããæ©èœã¯EVMä»®æ³ãã·ã³ã§å®è¡ãããŸãã ãŠãŒã¶ãŒã¯ãä»®æ³ãã·ã³ã®æšæºæ©èœïŒãã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡ãå£åº§æ®é«ã®è¡šç€ºãªã©ïŒã«ã¢ã¯ã»ã¹ã§ããã ãã§ãªããããšãã°ãå å®ãªèšèªãªã©ã®ã¹ããŒãã³ã³ãã©ã¯ãã§èª¬æãããŠããæ©èœã«ãã¢ã¯ã»ã¹ã§ããŸãã ãã®ä»®æ³ãã·ã³ãžã®ã¢ã¯ã»ã¹ã¯ãRPCã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠæäŸãããŸãã
åæ£ã¢ããªã±ãŒã·ã§ã³ã®äœæã¯ãããŒã¿ããŒããŒãžã®ä¿¡é Œã®æ¬ åŠãéäžåã·ã¹ãã ã®æ»æã«å¯ŸããŠè匱ãªãµãŒããŒãã¯ããŒãºãã·ã¹ãã ãªã©ãå€ãã®åé¡ã解決ã§ãããããããªãèŠæ±ã®å³ããæ¹åã«ãªããŸãã
æåã®ãããã¯ãã§ãŒã³æ¥ç¶
å°ãªããšãäœããã®åœ¢ã§ãããã¯ãŒã¯ã®ã¡ã³ããŒã§ããããšã®æå³ã確èªããããã«ã Mist ïŒå·çæç¹ã§ã¯0.9.0ã®ææ°ããŒãžã§ã³ïŒ-EthereumãŠã©ã¬ãããããŠã³ããŒãããŸããã ãã¹ããŠã©ã¬ãããåŒã³åºãããã®ã¯ãã¢ã«ãŠã³ããšãããã®æ®é«ã管çã§ããããã§ãã ã¡ã€ã³é貚ã¯ãšãŒãã«ïŒãšãŒãã«ïŒã§ãããç¬èªã®ããŒã¯ã³ãçºè¡ããããšãã§ããŸãããããã¯ãŠã©ã¬ããã«ã衚瀺ãããŸãã ããããMistã¯ãŠã©ã¬ããã§ããã ãã§ãªããEthereumãããã¯ãã§ãŒã³ã®DAppãã©ãŠã¶ãŒã§ããããŸãã ã¹ããŒãã³ã³ãã©ã¯ããã¬ã€ã¢ãŠãããŠäœ¿çšããããDAppã¢ããªã±ãŒã·ã§ã³ã䜿çšãããã§ããŸãã
æ確ã«ããããã«ãç°ãªãã³ã³ãã¥ãŒã¿ãŒã§ã¯ã©ã€ã¢ã³ãã®ãã¢ã䜿çšããããšããå§ãããŸããäœæäžã®ããŒã¿ãããŒã«ã«ã ãã§ãªãå©çšå¯èœã§ããããšã確èªããããšãå¯èœã§ãããããã¯å¿ é ã§ã¯ãããŸããã
Windowsã®UPDïŒWindowsãŠãŒã¶ãŒã®å Žåã次ã®ç¹ã¯ããè€éã§ãã ãŸããã³ãã³ãã©ã€ã³ã¯ã©ã€ã¢ã³ãã§ããGethãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã Mistãèµ·åããåã«ãã³ãã³ãã©ã€ã³ãå®è¡ããå¿ èŠããããŸãã
geth --rinkeby
ïŒ--rinkebyãã©ã°ã®ä»£ããã«ãRopstenãããã¯ãŒã¯ãå¿ èŠãªå Žåã¯--testnetã䜿çšã§ããã¡ã€ã³ãããã¯ãŒã¯ãå¿ èŠãªå Žåã¯ãã©ã°ãå®å šã«çç¥ã§ããŸãïŒã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ããã¯ããããã¯ãŒã¯ãå€æŽãããããã€ãã³ã°ãéå§ãããããããšã¯ã§ããŸããã Ropstenã§æ¥ç¶ããŠãã€ãã³ã°ããããšããå Žå-ãã®ã³ãã³ãã§gethãå®è¡ããŸã
geth --testnet console 2>nul
gethã³ã³ãœãŒã«ã§ã¯ã次ãå®è¡ã§ããŸã
miner.setEtherbase("< >")
ãã®åŸãå®è¡ããŸã
miner.start(4)
ïŒ4-ã¹ã¬ããã®æ°ãå¿ èŠãªæ°ã ãèšå®ã§ããŸãïŒã ãã€ãã³ã°ãéå§ããåã«ãåæã®çµäºãåŸ ã€ããšããå§ãããŸã
1.èµ·åæã«ãMistã¯ãããã¯ãŒã¯ïŒã¡ã€ã³ãããã¯ãŒã¯ãŸãã¯ãã¹ããããã¯ãŒã¯ïŒã®éžæãææ¡ããŸãã [ãããã¯ãŒã¯ã®ãã¹ã]ãéžæããŸãã
ãããã¯ãã§ãŒã³ã§æäœãå®è¡ããã«ã¯ããã®ãããã¯ãŒã¯ã®é貚ããã®å Žåã¯ãšãŒãã«ãå¿ èŠã§ãã ã¡ã€ã³ãããã¯ãŒã¯ã§ã¯ã空æ°ã«å®éã®è²»çšãããããŸããããã¹ããããã¯ãŒã¯ã§ã¯è²»çšããããããç°¡åã«å ¥æã§ããŸãã ããã«ããã¹ãŠã®ãããã¯ãŒã¯ããŒã¿ãã³ã³ãã¥ãŒã¿ãŒã«ããŠã³ããŒããããåã«ããã®èšäºãæžããŠããæç¹ã§ã®ãã¹ããããRopstenã®å Žåã¯7 GBæªæºããã¹ããããRinkebyã®å Žå-800 MBãå®éã®ãããã¯ãŒã¯ã®å Žå-40 GB以äžã§ãã ãããã£ãŠããŸãã¯TestnetãéžæããŠãã ããã å®éã®ãããã¯ãŒã¯ã§ã¯ãå®éã®ãéãšã®äº€æã§è³Œå ¥ããããšã§ãšãŒãã«ãååŸã§ããŸãïŒãã®èšäºãæžããŠããæç¹ã§ã¯çŽ300ãã«ã§ãïŒããããã«ã¯ããªãã®åãšæéãå¿ èŠã§ãã ãã¹ããããã¯ãŒã¯ã§ã¯ããœãŒã¹ã¯ç°ãªããŸããããã¯ãRopstenã®ãã€ãã³ã°ïŒRopstenã®ä»ã®ãœãŒã¹ããã®åä¿¡ã¯æ©èœããŸããã§ããïŒããŸãã¯www.rinkeby.io- > Crypto_Faucet for Rinkebyãªã©ã®ãœãŒã¹ãä»ããåä¿¡ã§ãã Testnetã§ã®ãã€ãã³ã°ã¯ãå®éã®ãããã¯ãŒã¯ãããå€§å¹ ã«çãæéã§æžã¿ãŸããããšãã°ãi5 6200uã©ãããããããã»ããµã§ã¯ãéã«å¿ããŠæ°æéã«ããã£ãŠ5ã€ã®ãšãŒãã«ãåãåããŸããã ãã®å Žåã®ãã€ãã³ã°é床ã¯çŽ50 KH / sïŒ50 KH-50ããããã·ã¥ããŸãã¯1ç§ããã50,000ããã·ã¥ïŒã§ãããèªå® ã§ç¢ºèªã§ããå人çã«ã©ããããæéããããããææ¡ã§ããŸãã ãšããã§ã1ã€ã®ã¯ã©ã€ã¢ã³ãã§è€æ°ã®ãšãŒãã«ããã€ãã³ã°ãããšãããšãã°ãã€ããŒãé ãå Žåãªã©ãåé¡ãªãå¥ã®ããŒãã«ããŒãã転éããããšãå¯èœã«ãªããŸãã å°æ¥çã«ã¯ãProof-of-Workãããã¯ãŒã¯ã§ããRopstenã®ã¿ã䜿çšããããšã«æ³šæããå¿ èŠããããŸããããããã€ãã³ã°ã䜿çšãããçç±ã§ãã 0.9以éã®Mistã®ããŒãžã§ã³ã§ã¯ããã®ãããã¯ãŒã¯ã¯ããã©ã«ãã®ãããã¯ãŒã¯ã§ã¯ãªãããã䜿çšããå Žåã¯ããŸããã¢ããªã±ãŒã·ã§ã³ã®èµ·åããã¯ãªãã¯ããŠMistãèµ·åãã次ã«ã¡ãã¥ãŒé ç®ãéçºã->ããããã¯ãŒã¯ãããç®çã®ãããã¯ãŒã¯ãéžæããŸãã äžè¬ã«ãRinkebyã¯ãã€ãã³ã°ãå¿ èŠãšãããããé«éã§ç°¡åã«äœ¿çšã§ãããããRinkebyã®æ¹ã䜿ãåæããããªããŸãã ãã ããRopstenã¯å®éã®ãããã¯ãŒã¯ã«ããè¿ãããã®æ©èœãå®æã§ããŸãã
2.ãã®ãããMistãèµ·åããã¢ã«ãŠã³ãã®ãã¹ã¯ãŒããèšå®ããããææ¡ãããŸãã ç§å¯éµãã¡ã€ã«ã¯èå¥ã«äœ¿çšãããããããã°ã€ã³ã¯å¿ èŠãããŸããã
ç§å¯éµã¯ãLinuxã®ãã©ã«ããŒã/ .ethereum / testnet / keystore / Ropstenã®å Žåãã/ .ethereum / rinkeby / keystore /ã®Rinkebyãã©ã«ããŒã«ä¿åãããŸãã ãããã¯ãŒã¯ããšã«åå¥ã®ããŒãäœæãããããšã«æ³šæããŠãã ãããç§ãã¡ã®ããã«Ropstenã䜿çšããå Žåã¯ãå¥ã®ã¢ã«ãŠã³ããäœæããå¿ èŠããããŸãã ååã¯ãäœææ¥æãšäœæã§æ§æãããŸãã ã¢ãã¬ã¹ã¯ã0xe03269461f7672494fb0dbbe89c00614601b5d24ãšãã圢åŒã®20ãã€ãã®16é²æååã§ãã ãã¡ã€ã«åã§ã¯ãæåã®0xã¯çç¥ãããŸãã ã¢ãã¬ã¹ã¯ããããã¯ãã§ãŒã³äžã®ã¢ã«ãŠã³ããèå¥ããããã«äœ¿çšãããä»ã®ã¢ã«ãŠã³ãããã€ãŒãµãéä¿¡ã§ããŸãã
3.æ¢ã«è¿°ã¹ãããã«ãããŒã«ã«ããŒã¿ããŒã¹ã®åæãå¿ èŠã§ãããã¹ããããRopstenã«ã¯æ°æé以äžãããå ŽåããããŸãããããã»ã¹ãå®äºãããŸã§åŸ ã€å¿ èŠããããŸãã ããããªããšãéåæããŒã¹ãååŸãããå¯èœæ§ããããŸãã
å°ãªããšãç§ãã¡ã®å Žåããã€ãã³ã°ãéå§ããããšããšãŒãã«ã®åéãéãããŸãããåæã«ããã䜿çšããããšã¯ã§ããŸããã§ãããä»ã®ãããã¯ãŒã¯åå è ã«ã¯ãã¹ãŠã®æäœãèŠããŸããã§ããã åé¡ã¯æ¬¡ã®ããã«æããã«ãªããŸãã-å·Šäžé ã®ãã¹ãã§ã¯ãæåŸã®ãããã¯ã®æ°ã衚瀺ãããŸãïŒãŸãã¯åæãå®äºãããŸã§æ®ã£ãŠãããããã¯ã®æ°ããã®å Žåã¯ãã¹ãŠæ£åžžã§ãããã»ã¹ãçµäºããã®ãåŸ ã€å¿ èŠããããŸãïŒã ããŒã«ã«ã³ããŒã®æåŸã®ãããã¯ã®çªå·ã¯ããã®ãããã¯ãã§ãŒã³ã®å®éã®å€ãšæ¯èŒã§ããŸããããšãã°ã ropsten.etherscan.ioã§ã¯ ãRopstenãããã¯ãŒã¯ã®ææ°ã®ãããã¯çªå·ã確èªã§ããŸãã å€ãå°ããæ¹åã§å€§ããç°ãªãå Žå-ããŒã¿ããŒã¹ãåæãããŠããªãå¯èœæ§ããããŸãã ããã§ã¯ãé§ã®åæãçµããã«éãããããããã¯çªå·ãæ£ãããªãå Žåã¯ã©ãããã°ããã®ã§ããããïŒ ããŒã¿ãåé€ããŠå床ããŠã³ããŒãããããšã§ããã®åé¡ã解決ããŸããã Linuxã®Ropstenãããã¯ãŒã¯çšã®ããŒã¿ã¯ã/ .ethereum / testnetãã©ã«ããŒã«ãããŸããchaindataãµããã©ã«ããŒãããã¹ãŠãåé€ããããšã§åœ¹ã«ç«ã¡ãŸããã ãã®åŸã圌ãã¯é§ãéå§ããä»åã¯åæã®çµäºãèŸæ±åŒ·ãåŸ ã£ãŠããŸããã
4.åæãå®äºããããã¡ãã¥ãŒé ç®[éçº]-> [ãã€ãã³ã°ã®éå§]ãéžæã§ããŸãã ããã¯ãå°ãªããšãå°ãã®ãšãŒãã«ãåŸãããã«å¿ èŠã§ãã ããã¯ãRopstenãããã¯ãŒã¯ã«ã®ã¿é¢é£ããŸãã Rinkebyãããã¯ãŒã¯ã䜿çšããå Žåã¯ã www.rinkeby.ioã® [æå·èå£]ã¿ãã«ã¢ã¯ã»ã¹ã ãèšèŒãããŠããæ瀺ã«åŸã£ãŠãã ããã
ãšãŒãã«ã¯ãããŒã¿å€æŽæäœã«å¿ èŠã§ãããããããã¬ã¹ã®ä»£åãšãªããŸããããã¯ããã©ã³ã¶ã¯ã·ã§ã³ãå®äºããããã«å¿ èŠãªäœæ¥ãè©äŸ¡ããã®ã«åœ¹ç«ã€æœè±¡çãªæž¬å®åäœã§ãã ãã®è©äŸ¡ããšãŒãã«ã®çŸåšã®åžå ŽäŸ¡å€ããç¬ç«ãããããã«å¿ èŠã§ãã ãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ãããšãã«ãã¬ã¹ã®åãŠãããã«å¯ŸããŠæ¯æããšãŒãã«ã®éãšãæ¯æãææã®ããã¬ã¹ã®æ倧éãæå®ã§ããŸãã å²ãåœãŠãéãå€ãã»ã©ãæœåšçãªãã€ããŒã®ãã©ã³ã¶ã¯ã·ã§ã³ã®åªå 床ãé«ããªããŸãã å®éãæ¬è³ªçã«ãã¬ã¹æéã¯ãååŒãå®äºããŠæ¬¡ã®ãããã¯ã«å«ããããã®é±å€«ã®ä»äºã®æ¯æãã§ãã ãããã£ãŠãæ¡ææã«ãèŠã€ãã£ããããã¯ã®åºå®æéã«å ããŠ-å·çæç¹ã§ã¯5ãšãŒãã«ã§ã-é±å€«ããã©ã³ã¶ã¯ã·ã§ã³æéïŒéåžžã¯ãšãŒãã«ã®æ°çŸåã®1ïŒãåãåããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ãããã®ã¬ã¹ã®éã¯ãããŒã¿æäœã®èšç®ã®è€éãã«äŸåããŸãã ã¬ã¹ã®æ¶è²»æ¹æ³ãšæšå®æ¹æ³ã®äŸã¯ã次ã®èšäºã§èª¬æããŸãã
æãã·ã³ãã«ãªã¹ããŒãã³ã³ãã©ã¯ã
ã¢ã«ãŠã³ãã«ç©ºãæéããããšããã«ãã¹ããŒãã³ã³ãã©ã¯ãã®å®éšãéå§ã§ããŸãã å¥çŽãæžãããŠããèšèª-Solidity-ã¯ãC ++ããã³JavaScriptã«äŒŒãŠããŸãã ä»ã®èšèªããããŸãããSolidityã¯æã人æ°ããããç©æ¥µçã«ãµããŒããããŠãããããææžåãããŠããããã䜿çšããããšããå§ãããŸãã åäžã®è¡ãå€æŽããŠä¿åããæ©èœãæäŸããããšãå¯äžã®ç®çãšããåçŽãªå¥çŽãèããŠã¿ãŸãããã
å¥çŽã³ãŒãïŒ
pragma solidity ^0.4.10; contract StringHolder { string savedString; function setString( string newString ) { savedString = newString; } function getString() constant returns( string ) { return savedString; } }
string
pragma solidity ^0.4.10
ã¯ããã®ã³ã³ãã©ã¯ãã«æäœéå¿ èŠãªã³ã³ãã€ã©ã
pragma solidity ^0.4.10
ããšãæå³ããèšå·^ã¯0.5.0以éã®ã³ã³ãã€ã©ã®äœ¿çšãçŠæ¢ããŸãã Solidityã¯é²åããèšèªã§ãããäºææ§ãç¶æãããéçºè ã®èŠæã«ãããããããããã¯åžžã«é¢é£ããŠããããã§ãã
å¥çŽã®ååã¯ãããŒã¯ãŒã
contract
åŸã«æå®ãããŸãã ã³ã³ãã©ã¯ãã®æ¬æã«ã¯ãä¿åãããŠãããã¹ãŠã®ããŒã¿ãèšè¿°ãããŸãããã®å Žåãããã¯
string
åã®
savedString
ãã£ãŒã«ãã§ãã ããŒã¿ã®æäœã¯ãã»ãã¿ãŒãšã²ãã¿ãŒãä»ããŠè¡ãããŸãã ãã®å Žåã
setString( string newString )
é¢æ°ã¯ãã¹ããªã³ã°ã®æ°ããå€ãã³ã³ãã©ã¯ãå€æ°ã«å²ãåœãŠãŸãã
getString() constant returns( string )
é¢æ°ã®
getString() constant returns( string )
ã
getString() constant returns( string )
ã®å€ã
returns(<>)
æ»ãå€ã®åã¯ã
returns(<>)
ãšããŠæå®ãã
returns(<>)
ïŒã
constant
ããŒã¯ãŒãã«æ³šæãã䟡å€ããããŸã-é¢æ°ã®å®è¡äžã«ããŒã¿ãå€æŽãããªãããšãä¿èšŒããŸãã ããŒã¿ãå€æŽãããªãå Žåãã¬ã¹ä»£ãæ¯æãå¿ èŠã¯ãããŸããã ãããã£ãŠãã²ãã¿ãŒã¯å³åº§ã«ç¡æã§å®è¡ãããŸãã ã»ãã¿ãŒã¯æ¯æããå¿ èŠãšããããã«ã¯å®è¡ãããŸããïŒãããã¯ãã§ãŒã³ã®æ¬¡ã®ãããã¯ã«ãã©ã³ã¶ã¯ã·ã§ã³ãå«ããçµæãšããŠã®ã¿ïŒã
ã³ã³ãã©ã¯ãã䜿çšããæåã®å®éšã«ã¯ã Remix IDEãéåžžã«äŸ¿å©ã§ãã å¥çŽã®ç¹å®ã®ã³ãŒããã³ããŒããŠãã³ãŒãã®ãŠã£ã³ããŠã«è²Œãä»ããã ãã§ååã§ãã å³åŽã®ããã«ã§ã[äœæ]ãã¯ãªãã¯ããŸãããããã¯ãã§ãŒã³ã«å ¬éããã«å¥çŽãäœæãããŸãã 以äžãã芧ãã ããã
ã²ãã¿ãŒïŒgetStringïŒã¯éã§ããŒã¯ãããã»ãã¿ãŒïŒsetStringïŒã¯èµ€ã§ããŒã¯ãããŸãã æ¶è²»ãããã¬ã¹éã瀺ããŸãã
setStringãã£ãŒã«ãã«æååãæå®ããã«ã¯ãåŒçšç¬Šãå¿ããªãã§ãã ãããããããªããšãšã©ãŒãçºçããŸã
getããã³setãé©åã«æ©èœããŠããããšã確èªããããå¥çŽãå®éã®ãããã¯ãã§ãŒã³ã«ãããã€ã§ããŸãã ãããè¡ãã«ã¯ãMistã«æ»ãã[å¥çŽ]ã«ç§»åããŠ[æ°ããå¥çŽã®ãããã€]ãã¯ãªãã¯ããŸãã ã³ãŒãã[Solidity Contract Source Code]ãã£ãŒã«ãã«ã³ããŒãããšãå³åŽã«[Pick a contract]ããããããŠã³ãªã¹ãã衚瀺ãããŸãã ãã®å Žåã®å¯äžã®ã¢ã€ãã ã§ããStringHolderãéžæããŸãã å±éæéã«äŸåããæ¯æãé¡ãéžæãã[å±é]ãã¯ãªãã¯ããŸãããŠã£ã³ããŠã«æŠç®ã³ã¹ãã衚瀺ãããŸããã¢ã«ãŠã³ãã®ãã¹ã¯ãŒããå ¥åãã[ãã©ã³ã¶ã¯ã·ã§ã³ã®éä¿¡]ãã¯ãªãã¯ããŸãã æ°ãããã©ã³ã¶ã¯ã·ã§ã³ããŠã©ã¬ããã«è¡šç€ºãããé²è¡ç¶æ³ã¯ãx of 12 ConfirmationsãïŒx of 12 ConfirmationsïŒã«ãªããŸãã æåã®ç¢ºèªã¯ããã©ã³ã¶ã¯ã·ã§ã³ãé±å€«ã«ãã£ãŠãããã¯ã«å«ãŸããããšãæå³ãããã以éã®ãã©ã³ã¶ã¯ã·ã§ã³ã¯ã察å¿ããæ°ã®ãããã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®ãããã¯ã®åŸã«äœæãããããšãæå³ããŸãã ããã«ããããã©ã³ã¶ã¯ã·ã§ã³ã®ãããã¯ããã£ã³ã»ã«ãããªããšãã倧ããªä¿èšŒãåŸãããŸãã ãã ããå¥çŽãæå¹ã«ããã«ã¯ã1åã®ç¢ºèªã§ååã§ãã 確èªåŸãå¥çŽâæååãã«ããŒã«ç§»åããŸãã ãã¹ãã¯ãå¥çŽã®ã€ã³ã¿ãŒãã§ãŒã¹ã衚瀺ããŸããå·ŠåŽã®ã²ãã¿ãŒïŒå¥çŽããèªã¿åãïŒãå³åŽã®ã»ãã¿ãŒïŒå¥çŽã«æžã蟌ãïŒã«ããããããŠã³ãªã¹ãã®åœ¢åŒã§è¡šç€ºãããŸãã Remix IDEã®å Žåãšåãããã«æ©èœããŸããã©ã€ã³ã®èšå®ã®ã¿ãå®éã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ãããå¥çŽã®äœæãšåæ§ã«ããã¹ã¯ãŒãã®ç¢ºèªãå¿ èŠã§ãé±å€«ããã®12ã®ç¢ºèªãåŸ ã¡ãŸãã
ä»ã®ãŠãŒã¶ãŒã¯ãã®å¥çŽãã©ã®ããã«èŠãããšãã§ããŸããïŒ å¥çŽã¯ãã¢ãã¬ã¹ãšABIã€ã³ã¿ãŒãã§ã€ã¹ã®2ã€ã®ã³ã³ããŒãã³ãã§å®çŸ©ãããŸãã ãããã¯ãã¹ãŠã[ã¢ãã¬ã¹ã®ã³ããŒ]ãã¿ã³ãš[ã€ã³ã¿ãŒãã§ã€ã¹ã®è¡šç€º]ãã¿ã³ã䜿çšããŠãMistã®å¥çŽããŒãžã§ç¢ºèªã§ããŸãã ã¢ãã¬ã¹ã¯åã20ãã€ãã®16é²æ°ã§ããããšãã°ããã®äŸã§ã¯0x65cA73D13a2cc1dB6B92fd04eb4EBE4cEB70c5eCã§ãã ã€ã³ã¿ãŒãã§ã€ã¹ã¯JSONããã¹ãã§ããã¹ããŒãã³ã³ãã©ã¯ãã®å Žåã¯æ¬¡ã®ããã«ãªããŸãã
[ { "constant": false, "inputs": [ { "name": "newString", "type": "string" } ], "name": "setString", "outputs": [], "payable": false, "type": "function" }, { "constant": true, "inputs": [], "name": "getString", "outputs": [ { "name": "", "type": "string", "value": "Hello World!" } ], "payable": false, "type": "function" } ]
ã€ã³ã¿ãŒãã§ã€ã¹ã¯å¥çŽã³ãŒãããèªåçã«çæãããå±éåŸã«å€æŽãããã¹ãã§ã¯ãããŸãããå¥çŽã®ã¢ãã¬ã¹ã¯å±éåŸã«è¿ãããå¥çŽã®ãã€ããªã³ãŒãã瀺ããŸãã Mistã¯ãã®ããŒã¿ãä¿åããå±éãå®è¡ãããå Žåã«ã®ã¿ååŸããããã®ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãã ã¡ãªã¿ã«ãå®äºãã/å®è¡ããããã©ã³ã¶ã¯ã·ã§ã³ã®ãªã¹ãMistãããŒã«ã«ã«ä¿åãããŸããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠã³ããããããå Žåã®ã¿ã§ãã
å¥çŽã䜿çšããã¯ã©ã€ã¢ã³ãã¯ãã®ããŒã¿ãåä¿¡ããå¿ èŠããããMistã®å Žåã¯ã[å¥çŽ]-> [å¥çŽã®ç£èŠ]ãéžæããŸãã ä»»æã®ååãéžæã§ããŸãããããã¯äŸ¿å®äžã®ãã®ã§ãã [OK]ãã¯ãªãã¯ããŸã-ãªã¹ãã«å¥çŽã衚瀺ãããŸããå¥çŽã«ç§»åããŠãå¥ã®ã¯ã©ã€ã¢ã³ãããè¡ãå€æŽã§ããŸãã ãã®å Žåããã©ã³ã¶ã¯ã·ã§ã³ãå®äºããïŒå°ãªããšã1ã€ã®ç¢ºèªãåä¿¡ãããïŒåŸããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã®è¡ãå€æŽãããŸãã
ãã®äŸã§ã¯ãåã¯ã©ã€ã¢ã³ãããããã¯ãã§ãŒã³å šäœãã³ã³ãã¥ãŒã¿ãŒã«ããŠã³ããŒãããå®éã®åæ£ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠèª¬æããŸãããããã¯å®éã«ã¯ããŸã䟿å©ã§ã¯ãããŸãããã仲ä»è ã®äžåšãä¿èšŒããŸãïŒå®éãMistã¯ä¿¡é Œã§ãã仲ä»è ã§ããïŒã å®éã«ã¯ã劥åããå¿ èŠããããŸããããšãã°ããããã¯ãã§ãŒã³ããŒãããµãŒãããŒãã£ã«å±éããããŠãŒã¶ãŒã«Webã€ã³ã¿ãŒãã§ã€ã¹ãæäŸãããŸãã ãŸãã¯ããŠãŒã¶ãŒããŒã䜿çšããŠãã©ã³ã¶ã¯ã·ã§ã³ã«çœ²åããç¹å¥ãªãã©ã°ã€ã³ïŒã¡ã¿ãã¹ã¯ãªã©ïŒããã©ãŠã¶ãŒã«ã€ã³ã¹ããŒã«ãããŸãã ãããã«ããã仲ä»è ã«ã¯ä¿¡é Œã®åé¡ããããŸãã ãã®åé¡ããããŒã¿å šäœãå¿ èŠãšããªã軜ãã¯ã©ã€ã¢ã³ããããã³ã«ã®å®è£ ãéããŠããŸãã¯ä»ã®æ¹æ³ã§å°æ¥è§£æ±ºãããããšãé¡ã£ãŠããŸãã ãããŸã§ã®éãããªãã¯äœã§äœæ¥ããå¿ èŠããããŸãã
次ã®èšäºã§ã¯ããããã©ã®ããã«æ©èœãããã詳ããèŠãŠãããŸãã