次ã«ãMoveèšèªã®äž»ãªç¹åŸŽãšãã¹ããŒãã³ã³ãã©ã¯ãã§ãã§ã«äººæ°ã®ããå¥ã®èšèªã§ããSolidityïŒEthereumãã©ãããã©ãŒã äžïŒãšã®äž»ãªéãã«ã€ããŠè©³ããæ€èšããŸãã ãã®è³æã¯ãå©çšå¯èœãªãªã³ã©ã€ã³ã®26ããŒãžã®ãã¯ã€ãããŒããŒã®èª¿æ»ã«åºã¥ããŠããŸãã
å°å ¥
Move ã¯ããŠãŒã¶ãŒ ãã©ã³ã¶ã¯ã·ã§ã³ãšã¹ããŒã ã³ã³ãã©ã¯ããå®è¡ããããã«äœ¿çšãããå®è¡å¯èœãªãã€ãã³ãŒãèšèªã§ãã 次㮠XNUMX ã€ã®ç¹ã«æ³šæããŠãã ããã
- Moveã¯Moveä»®æ³ãã·ã³ã§çŽæ¥å®è¡ã§ãããã€ãã³ãŒãèšèªã§ãããSolidityïŒEthereumã®ã¹ããŒãã³ã³ãã©ã¯ãèšèªïŒã¯ãEVMïŒEthereum Virtual MachineïŒã§å®è¡ãããåã«æåã«ãã€ãã³ãŒãã«ã³ã³ãã€ã«ãããé«ã¬ãã«ã®èšèªã§ãã
- Moveã¯ãã¹ããŒãã³ã³ãã©ã¯ãã®å®è£ ã ãã§ãªããã«ã¹ã¿ã ãã©ã³ã¶ã¯ã·ã§ã³ïŒããã«ã€ããŠã¯åŸã§è©³ãã説æããŸãïŒã«ã䜿çšã§ããŸãããSolidityã¯ã¹ããŒãã³ã³ãã©ã¯ãã®ã¿ã®èšèªã§ãã
翻蚳㯠INDEX ãããã³ã« ãããžã§ã¯ã ããŒã ã«ãã£ãŠå®è¡ãããŸããã ãã§ã«ç¿»èš³æžã¿ã§ã
Move ã®éèŠãªæ©èœã¯ãç·åœ¢ããžãã¯ã«åºã¥ããã»ãã³ãã£ã¯ã¹ã䜿çšããŠã«ã¹ã¿ã ãªãœãŒã¹ ã¿ã€ããå®çŸ©ã§ããããšã§ãããªãœãŒã¹ã¯ã³ããŒãããæé»çã«åé€ãããããããšã¯ã§ããã移åã®ã¿ãå¯èœã§ãã æ©èœçã«ã¯ããã㯠Rust èšèªã®æ©èœãšäŒŒãŠããŸãã Rust ã®å€ã¯äžåºŠã« XNUMX ã€ã®ååã«ã®ã¿å²ãåœãŠãããšãã§ããŸãã å€ãå¥ã®ååã«å²ãåœãŠããšã以åã®ååã§ã¯äœ¿çšã§ããªããªããŸãã
ããšãã°ã次ã®ã³ãŒãã¹ããããã¯ãšã©ãŒãã¹ããŒããŸãã 移åå€ãxãã®äœ¿çšã ããã¯ãRustã«ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ããªãããã§ãã å€æ°ãã¹ã³ãŒãå€ã«ãªããšãããããåç
§ããã¡ã¢ãªã解æŸãããŸãã ç°¡åã«èšãã°ãããŒã¿ã®ãææè
ãã¯XNUMX人ã ãã§ãã ãã®äŸã§ã¯ x å
ã®ææè
ã§ããã y æ°ããææè
ã«ãªããŸãã
ãªãŒãã³ã·ã¹ãã ã«ãããããžã¿ã«è³ç£ã®è¡šçŸ
ããžã¿ã«ã§è¡šçŸããã®ãé£ããç©ççè³ç£ã«ã¯ã次ã®XNUMXã€ã®ç¹æ§ããããŸãã
- åžå°æ§ ïŒåžå°æ§ãå ã ã¯åžå°æ§ïŒã ã·ã¹ãã å ã®è³ç£ïŒæåºéïŒã®æ°ãå¶åŸ¡ããå¿ èŠããããŸãã æ¢åã®è³ç£ã®è€è£œã¯çŠæ¢ããå¿ èŠããããæ°ããè³ç£ã®äœæã¯ç¹æš©çãªæäœã§ãã
- ã¢ã¯ã»ã¹å¶åŸ¡..ã ã·ã¹ãã åå è ã¯ãã¢ã¯ã»ã¹å¶åŸ¡ããªã·ãŒã䜿çšããŠè³ç£ãä¿è·ã§ããå¿ èŠããããŸãã
ç©ççãªè³ç£ã«èªç¶ãªãããã®XNUMXã€ã®ç¹æ§ã¯ãããžã¿ã«ãªããžã§ã¯ããè³ç£ãšèŠãªãå Žåã¯ããããã«å®è£ ããå¿ èŠããããŸãã ããšãã°ãã¬ã¢ã¡ã¿ã«ã¯èªç¶ã«åžå°ã§ãããã¢ã¯ã»ã¹ã§ããã®ã¯ããªãã ãã§ããïŒããšãã°ãæã«æã£ãŠããïŒã販売ãŸãã¯äœ¿çšããããšãã§ããŸãã
ãããã®XNUMXã€ã®ããããã£ã«å°éããæ¹æ³ã説æããããã«ã次ã®æããå§ããŸãããã
ææ¡ïŒ1ïŒåžå°æ§ãšã¢ã¯ã»ã¹å¶åŸ¡ã®ãªãæãåçŽãªã«ãŒã«
- G [K]ïŒ= n ããŒã§ã¢ã¯ã»ã¹å¯èœãªçªå·ã®æŽæ°ã瀺ããŸã Ð ãããã¯ãã§ãŒã³ã®ã°ããŒãã«ãªç¶æ ã§ãæ°ããæå³ã§ n.
- ãã©ã³ã¶ã¯ã·ã§ã³âšã¢ãªã¹ã100â© ã¢ãªã¹ã®å£åº§æ®é«ã100ã«èšå®ããããšãæå³ããŸãã
äžèšã®è§£æ±ºçã«ã¯ããã€ãã®å€§ããªåé¡ããããŸãã
- ã¢ãªã¹ã¯éãã ãã§ç¡å¶éã®ã³ã€ã³ãåãåãããšãã§ããŸã ãã©ã³ã¶ã¯ã·ã§ã³âšã¢ãªã¹ã100â©ã
- ã¢ãªã¹ãããã«éãã³ã€ã³ã¯åœ¹ã«ç«ããªããããã¯åããã¯ããã¯ã䜿ã£ãŠç¡å¶éã®æ°ã®ã³ã€ã³ãèªåã«éãããšãã§ããããã ã
ææ¡ïŒ2ïŒèµ€åãèæ ®ã«å ¥ãã
çŸåšãã³ã€ã³ã®æ°ãå¢ããããã«ç¶æ³ãç£èŠããŠããŸã Ka å°ãªããšãçãã n 転éãã©ã³ã¶ã¯ã·ã§ã³ã®åã ããããããã¯åžå°æ§ã®åé¡ã解決ããŸããã誰ãã¢ãªã¹ã®ã³ã€ã³ãéãããšãã§ãããã«ã€ããŠã®æ
å ±ã¯ãããŸããïŒä»ã®ãšããã誰ã§ããããè¡ãããšãã§ããŸããäž»ãªããšã¯éãå¶éããèŠåãç Žããªãããšã§ãïŒã
ãªãã¡ãŒïŒ3ïŒåžå°æ§ãšã¢ã¯ã»ã¹å¶åŸ¡ã®çµã¿åãã
ãã®åé¡ãããžã¿ã«çœ²åã¡ã«ããºã ã§è§£æ±ºããŸã verify_sig æ®é«ã確èªããåã«ãã€ãŸããã¢ãªã¹ã¯èªåã®ç§å¯éµã䜿çšããŠãã©ã³ã¶ã¯ã·ã§ã³ã«çœ²åããèªåãã³ã€ã³ã®ææè
ã§ããããšã確èªããŸãã
ãããã¯ãã§ãŒã³ããã°ã©ãã³ã°èšèª
æ¢åã®ãããã¯ãã§ãŒã³èšèªã¯æ¬¡ã®åé¡ã«çŽé¢ããŠããŸãïŒãããã¯ãã¹ãŠMoveã§è§£æ±ºãããŸããïŒæ³šïŒ æ®å¿µãªãããèšäºã®èè ã¯åœŒã®æ¯èŒã§ã€ãŒãµãªã¢ã ã«èšŽããã ããªã®ã§ããã®æèã§ã®ã¿ããããåã䟡å€ããããŸãã ããšãã°ã次ã®ã»ãšãã©ã¯EOSã§ã解決ãããŸããïŒïŒïŒ
è³ç£ã®éæ¥çãªè¡šçŸã ã¢ã»ããã¯æŽæ°ã䜿çšããŠãšã³ã³ãŒããããŸãããæŽæ°ã¯ã¢ã»ãããšåãã§ã¯ãããŸããã å®éãBitcoin/Ether/<Any Coin> ãè¡šãåãå€ã¯ååšããŸããã ãã®ãããã¢ã»ããã䜿çšããããã°ã©ã ã®äœæãé£ãããªãããšã©ãŒãçºçãããããªããŸãã ããã·ãŒãžã£ãšã®éã§ã¢ã»ãããåãæž¡ããããæ§é äœã«ã¢ã»ãããä¿åããããããããªãã¿ãŒã³ã«ã¯ãèšèªã«ããç¹å¥ãªãµããŒããå¿ èŠã§ãã
èµ€åã¯æ¡å€§ã§ããªã..ã èšèªã¯XNUMXã€ã®åžå°ãªè³ç£ã®ã¿ãè¡šããŸãã ããã«ãäžè¶³ã«å¯Ÿããææžçã¯ãèšèªèªäœã®ã»ãã³ãã£ã¯ã¹ã«çŽæ¥çµã¿èŸŒãŸããŠããŸãã éçºè ã¯ãã«ã¹ã¿ã ã¢ã»ãããäœæããå ŽåããªãœãŒã¹ã®ãã¹ãŠã®åŽé¢ãèªåã§æ³šææ·±ãå¶åŸ¡ããå¿ èŠããããŸãã ãããã¯ãŸãã«ã€ãŒãµãªã¢ã ã®ã¹ããŒãã³ã³ãã©ã¯ãã®åé¡ã§ãã
ãŠãŒã¶ãŒã¯ãæŽæ°ã䜿çšããŠè³ç£ã§ããERC-20ããŒã¯ã³ãçºè¡ãã䟡å€ãšç·äŸçµŠéã®äž¡æ¹ã決å®ããŸãã æ°ããããŒã¯ã³ãäœæããããã³ã«ãã¹ããŒãã³ã³ãã©ã¯ãã³ãŒãã¯ãæåºã«ãŒã«ãžã®æºæ ãç¬èªã«æ€èšŒããå¿ èŠããããŸãã ããã«ãè³ç£ã®éæ¥çãªæ瀺ã¯ãå Žåã«ãã£ãŠã¯ãé倧ãªãšã©ãŒïŒéè€ãäºéæ¯æããããã«ã¯è³ç£ã®å®å šãªåªå€±ïŒã«ã€ãªãããŸãã
æè»ãªã¢ã¯ã»ã¹å¶åŸ¡ã®æ¬ åŠ..ã çŸåšäœ¿çšãããŠããå¯äžã®ã¢ã¯ã»ã¹å¶åŸ¡ããªã·ãŒã¯ãé察称æå·åã䜿çšãã眲åã¹ããŒã ã§ãã åžå°æ§ä¿è·ãšåæ§ã«ãã¢ã¯ã»ã¹å¶åŸ¡ããªã·ãŒã¯èšèªã®ã»ãã³ãã£ã¯ã¹ã«æ·±ãçµã¿èŸŒãŸããŠããŸãã ããããããã°ã©ããŒãç¬èªã®ã¢ã¯ã»ã¹å¶åŸ¡ããªã·ãŒãå®çŸ©ã§ããããã«èšèªãæ¡åŒµããæ¹æ³ã¯ãå€ãã®å Žåãéåžžã«é£ããäœæ¥ã§ãã
ããã¯ã€ãŒãµãªã¢ã ã«ãåœãŠã¯ãŸããŸããã€ãŒãµãªã¢ã ã§ã¯ãã¹ããŒã ã³ã³ãã©ã¯ãã«ã¯ã¢ã¯ã»ã¹å¶åŸ¡ã®ããã®ãã€ãã£ãæå·åãµããŒãããããŸããã éçºè ã¯ãããšãã°ãonlyOwner 修食åã䜿çšããŠã¢ã¯ã»ã¹å¶åŸ¡ãæåã§èšå®ããå¿ èŠããããŸãã
ç§ã¯ã€ãŒãµãªã¢ã ã®å€§ãã¡ã³ã§ãããã»ãã¥ãªãã£äžã®çç±ãããè³ç£ããããã£ã¯èšèªã«ãã£ãŠãã€ãã£ãã«ãµããŒããããã¹ãã ãšèããŠããŸãã ç¹ã«ãã€ãŒãµãã¹ããŒã ã³ã³ãã©ã¯ãã«è»¢éããã«ã¯åçãã£ã¹ããããå¿ èŠã§ãããããã«ããåå ¥è匱æ§ãšããŠç¥ãããæ°ããã¯ã©ã¹ã®ãã°ãå°å ¥ãããŸãã ããã§ã®åçãã£ã¹ããããšã¯ãã³ãŒãã®å®è¡ããžãã¯ãã³ã³ãã€ã«æ (éç) ã§ã¯ãªãå®è¡æ (åç) ã«æ±ºå®ãããããšãæå³ããŸãã
ãããã£ãŠãSolidity ã§ã¯ãã³ã³ãã©ã¯ã A ãã³ã³ãã©ã¯ã B ã®é¢æ°ãåŒã³åºããšãã³ã³ãã©ã¯ã B ã¯ã³ã³ãã©ã¯ã A ã®éçºè
ãæå³ããŠããªãã³ãŒããå®è¡ããå¯èœæ§ãããããã®çµæã
èšèªèšèšã®åºç€ã移åãã
äžæ¬¡ãªãœãŒã¹
倧ãŸãã«èšãã°ãMoveèšèªã®ã¢ãžã¥ãŒã«/ãªãœãŒã¹/ããã·ãŒãžã£éã®çžäºäœçšã¯ãOOPèšèªã®ã¯ã©ã¹/ãªããžã§ã¯ããšã¡ãœããéã®é¢ä¿ã«éåžžã«äŒŒãŠããŸãã
移åã¢ãžã¥ãŒã«ã¯ãä»ã®ãããã¯ãã§ãŒã³ã®ã¹ããŒãã³ã³ãã©ã¯ãã«äŒŒãŠããŸãã ã¢ãžã¥ãŒã«ã¯ã宣èšããããªãœãŒã¹ãäœæãç Žæ£ãããã³æŽæ°ããããã®ã«ãŒã«ãå®çŸ©ãããªãœãŒã¹ã¿ã€ããšããã·ãŒãžã£ã宣èšããŸãã ãããããããã¯ãã¹ãŠåãªãæ
£äŸã§ãïŒãå°éçšèªãïŒç§»åäžã ãã®ç¹ã«ã€ããŠã¯ãå°ãåŸã§èª¬æããŸãã
æè»æ§
Move ã¯ãã¹ã¯ãªãããéã㊠Libra ã«æè»æ§ãè¿œå ããŸãã Libra ã®ãã¹ãŠã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ã¯ã¹ã¯ãªãããå«ãŸããŠããããããæ¬è³ªçã«ãã©ã³ã¶ã¯ã·ã§ã³ã®äžæ žãšãªãæé ã§ãã ã¹ã¯ãªããã¯ãæå®ããã XNUMX ã€ã®ã¢ã¯ã·ã§ã³ (æå®ãããåå人ãªã¹ããžã®æ¯æããªã©) ãå®è¡ããããäžè¬çãªããžãã¯ãæå®ãããããã·ãŒãžã£ãåŒã³åºããªã©ãä»ã®ãªãœãŒã¹ãåå©çšãããã§ããŸãã ãããã移åãã©ã³ã¶ã¯ã·ã§ã³ ã¹ã¯ãªãããããé«ãæè»æ§ãæäŸããçç±ã§ãã ã¹ã¯ãªãã㯠XNUMX åéãã®åäœãšç¹°ãè¿ãã®åäœã®äž¡æ¹ã䜿çšã§ããŸãããEthereum ã¯ç¹°ãè¿ãå¯èœãªã¹ã¯ãªãã (ã¹ããŒã ã³ã³ãã©ã¯ã ã¡ãœãã㧠XNUMX ã€ã®ã¡ãœãããåŒã³åºã) ã®ã¿ãå®è¡ã§ããŸãã ãåå©çšå¯èœããšåŒã°ããçç±ã¯ãã¹ããŒã ã³ã³ãã©ã¯ãã®æ©èœãè€æ°åå®è¡ã§ããããã§ãã ïŒæ³šèšïŒ ããã§ã®ãã€ã³ãã¯éåžžã«åŸ®åŠã§ãã äžæ¹ã§ããããã³ã€ã³ã«ã¯æ¬äŒŒãã€ãã³ãŒãã®åœ¢åŒã®ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªãããååšããŸãã äžæ¹ãç§ã®ç解ã§ã¯ãMove ã¯ãã®èšèªãæ¬æ Œçãªã¹ããŒã ã³ã³ãã©ã¯ãèšèªã®ã¬ãã«ãŸã§æ¡åŒµããŠããŸãã).
ã»ãã¥ãªãã£
Move ã®å®è¡åœ¢åŒã¯ãã€ãã³ãŒãã§ãããã¢ã»ã³ããªèšèªããã¯é«ã¬ãã«ã®èšèªã§ããããœãŒã¹ ã³ãŒãããã¯äœã¬ãã«ã§ãã ãã€ãã³ãŒãã¯ãã©ã³ã¿ã€ã (ãªã³ãã§ãŒã³) ã§ãã€ãã³ãŒãæ€èšŒããŒã«ã䜿çšããŠãªãœãŒã¹ãåãã¡ã¢ãªã®å®å šæ§ããã§ãã¯ããããã®åŸã€ã³ã¿ãŒããªã¿ã«ãã£ãŠå®è¡ãããŸãã ãã®ã¢ãããŒãã«ãããMove ã¯ãœãŒã¹ ã³ãŒãã®ã»ãã¥ãªãã£ãæäŸã§ããããã«ãªããŸãããã³ã³ãã€ã« ããã»ã¹ãã·ã¹ãã ã«ã³ã³ãã€ã©ãè¿œå ããå¿ èŠã¯ãããŸããã Move ããã€ãã³ãŒãèšèªã«ããã®ã¯éåžžã«è¯ã解決çã§ãã Solidity ã®å Žåã®ããã«ãœãŒã¹ããã³ã³ãã€ã«ããå¿ èŠã¯ãªããã³ã³ãã€ã©ãŒ ã€ã³ãã©ã¹ãã©ã¯ãã£ã«å¯Ÿããé害ãæ»æã®å¯èœæ§ãå¿é ããå¿ èŠã¯ãããŸããã
æ€èšŒå¯èœæ§
ããã¯ãã¹ãŠãªã³ãã§ãŒã³ã§è¡ãããããããã§ãã¯ãã§ããã ãç°¡åã«å®è¡ããããšãç®çãšããŠããŸã (泚: ãªã³ã©ã€ã³ã§ãåãã©ã³ã¶ã¯ã·ã§ã³ã®å®è¡äžã«ãé 延ããããšãããã¯ãŒã¯å šäœã®é床ãäœäžããŸã) ãã ããæåã¯èšèªèšèšã§ãªããã§ãŒã³ã®éçæ€èšŒããŒã«ã䜿çšããæºåãã§ããŠããŸãã ããã¯ããæãŸããããšã§ãããçŸæç¹ã§ã¯æ€èšŒããŒã« (å¥åã®ããŒã«ããããšããŠ) ã®éçºã¯å°æ¥ã«åããŠå»¶æãããŠãããçŸåšã¯å®è¡æ (ãªã³ãã§ãŒã³) ã§ã®åçæ€èšŒã®ã¿ããµããŒããããŠããŸãã
ã¢ãžã¥ãŒã«æ§
移åã¢ãžã¥ãŒã«ã¯ãããŒã¿ã®æœè±¡åãæäŸãããªãœãŒã¹ã«å¯ŸããéèŠãªæäœãããŒã«ã©ã€ãºããŸãã ã¢ãžã¥ãŒã«ã«ãã£ãŠæäŸãããã«ãã»ã«åã¯ã移ååã·ã¹ãã ã«ãã£ãŠæäŸãããä¿è·ãšçµã¿åããããŠãã¢ãžã¥ãŒã«ã®åã«èšå®ãããããããã£ãã¢ãžã¥ãŒã«å€ã®ã³ãŒãã«ãã£ãŠäŸµå®³ãããªãããšãä¿èšŒããŸãã ããã¯ããªãããèããããæœè±¡åèšèšã§ããã€ãŸããå¥çŽå ã®ããŒã¿ã¯å¥çŽã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®ã¿å€æŽã§ããå€éšã§ã¯å€æŽã§ããŸããã
移åã®æŠèŠ
ãã©ã³ã¶ã¯ã·ã§ã³ã¹ã¯ãªããã®äŸã¯ãã¢ãžã¥ãŒã«å€ã®ããã°ã©ããŒã«ããæªæã®ãããŸãã¯äžæ³šæãªã¢ã¯ã·ã§ã³ãã¢ãžã¥ãŒã«ã®ãªãœãŒã¹ã®ã»ãã¥ãªãã£ãå±éºã«ãããããšã¯ã§ããªãããšã瀺ããŠããŸãã 次ã«ãã¢ãžã¥ãŒã«ããªãœãŒã¹ãããã³ããã·ãŒãžã£ã䜿çšããŠLibraãããã¯ãã§ãŒã³ãããã°ã©ã ããæ¹æ³ã®äŸãèŠãŠãããŸãã
ãã¢ããŒãã¢æ¯æã
éé¡ã§æå®ãããã³ã€ã³æ°ããéä¿¡è
ã®æ®é«ããåä¿¡è
ã«ééãããŸãã
ããã«ã¯ããã€ãã®æ°ããç¹ããããŸã (èµ€ã§åŒ·èª¿è¡šç€ºãããŠããŸã)ã
- 0x0ïŒã¢ãžã¥ãŒã«ãä¿åãããŠããã¢ã«ãŠã³ãã®ã¢ãã¬ã¹
- é貚ïŒã¢ãžã¥ãŒã«å
- ã³ã€ã³ïŒãªãœãŒã¹ã¿ã€ã
- ããã·ãŒãžã£ã«ãã£ãŠè¿ãããã³ã€ã³å€ã¯ãã¿ã€ã0x0.Currency.Coinã®ãªãœãŒã¹å€ã§ãã
- åã ïŒïŒïŒå€ã¯å床䜿çšã§ããŸãã
- copyïŒïŒïŒå€ã¯åŸã§äœ¿çšã§ããŸã
ã³ãŒãã解æããŸããæåã®ã¹ãããã§ãéä¿¡è ã¯æ¬¡ã®ååã®ããã·ãŒãžã£ãåŒã³åºããŸãã éä¿¡è ããã®åŒãåºã ã«ä¿åãããŠããã¢ãžã¥ãŒã«ãã 0x0ãé貚ã XNUMX çªç®ã®ã¹ãããã§ã¯ãéä¿¡è ã¯ã³ã€ã³ ãªãœãŒã¹ã®äŸ¡å€ãã¢ãžã¥ãŒã«ã®å ¥éæé ã«ç§»åããããšã§ãåä¿¡è ã«è³éãééããŸãã 0x0ãé貚.
ãã§ãã¯ã§æåŠãããã³ãŒãå
ã®ãšã©ãŒã® XNUMX ã€ã®äŸã次ã«ç€ºããŸãã
é話ãå€æŽããŠè³éãè€è£œãã 移åïŒã³ã€ã³ïŒ Ма ã³ããŒïŒã³ã€ã³ïŒã ãªãœãŒã¹ã¯ç§»åã®ã¿å¯èœã§ãã ãªãœãŒã¹ã®æ°éãè€è£œããããšããŠããŸã (ããšãã°ã ã³ããŒïŒã³ã€ã³ïŒ äžèšã®äŸã§ã¯ïŒãã€ãã³ãŒãã®ãã§ãã¯äžã«ãšã©ãŒãçºçããŸãã
æå®ã«ããè³éã®åå©çš 移åïŒã³ã€ã³ïŒ äºåºŠ ã è¡ãè¿œå ãã 0x0.Currency.deposit (ã³ã㌠(some_other_payee)ã移å (ã³ã€ã³)) ããšãã°ãäžèšã«ãããéä¿¡è ã¯ã³ã€ã³ã XNUMX åã䜿ããããšãã§ããŸããXNUMX åç®ã¯åå人ã«ãXNUMX åç®ã¯åå人ã«ã§ãã some_other_payeeã ããã¯ãç©ççãªè³ç£ã§ã¯ããããªãæãŸãããªãåäœã§ãã 幞ããªããšã«ãMove ã¯ãã®ããã°ã©ã ãæåŠããŸãã
æåŠã«ããè³éã®æ倱 移åïŒã³ã€ã³ïŒã ãªãœãŒã¹ã移åããªãå Žå (ããšãã°ã 移åïŒã³ã€ã³ïŒ)ããã€ãã³ãŒãæ€èšŒãšã©ãŒãã¹ããŒãããŸãã ããã«ãããMove ããã°ã©ããŒã¯å¶çºçãŸãã¯æªæã®ããè³éã®æ倱ããä¿è·ãããŸãã
é貚ã¢ãžã¥ãŒã«
åã¢ã«ãŠã³ãã«ã¯ã0 å以äžã®ã¢ãžã¥ãŒã« (åè§åœ¢ã§è¡šç€º) ãš XNUMX ã€ä»¥äžã®ãªãœãŒã¹å€ (åæ±ã§è¡šç€º) ãå«ããããšãã§ããŸãã ããšãã°ã次ã®ã¢ã«ãŠã³ã 0x0 ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸã 0x0ãé貚 ããã³ãªãœãŒã¹ã¿ã€ãã®å€ 0x0.é貚.ã³ã€ã³ã äœæã®ã¢ã«ãŠã³ã 0x1 XNUMX ã€ã®ãªãœãŒã¹ãš XNUMX ã€ã®ã¢ãžã¥ãŒã«ããããŸãã äœæã®ã¢ã«ãŠã³ã 0x2 XNUMX ã€ã®ã¢ãžã¥ãŒã«ãš XNUMX ã€ã®ãªãœãŒã¹å€ããããŸãã
ããã€ãã®ç¬é:
- ãã©ã³ã¶ã¯ã·ã§ã³ ã¹ã¯ãªããã¯ã¢ãããã¯ã§ããå®å šã«å®è¡ããããããŸã£ããå®è¡ãããªããã®ã©ã¡ããã§ãã
- ã¢ãžã¥ãŒã«ã¯ãã°ããŒãã«ã«ã¢ã¯ã»ã¹ã§ãããåç¶æéã®é·ãã³ãŒãã§ãã
- ã°ããŒãã«ç¶æ ã¯ããã·ã¥ ããŒãã«ãšããŠæ§é åãããŠãããããŒã¯ã¢ã«ãŠã³ã ã¢ãã¬ã¹ã§ãã
- ã¢ã«ãŠã³ãã«ã¯ãæå®ãããã¿ã€ãã®ãªãœãŒã¹å€ã XNUMX ã€ã ãå«ããããšãã§ããæå®ãããååã®ã¢ãžã¥ãŒã«ã XNUMX ã€ã ãå«ããããšãã§ããŸã (ã¢ã«ãŠã³ã 0x0 è¿œå ã®ãªãœãŒã¹ãå«ããããšã¯ã§ããŸãã 0x0.é貚.ã³ã€ã³ ãŸãã¯ãšããååã®å¥ã®ã¢ãžã¥ãŒã« é貚)
- 宣èšãããã¢ãžã¥ãŒã«ã®ã¢ãã¬ã¹ã¯åã®äžéšã§ã (0x0.é貚.ã³ã€ã³ О 0x1.é貚.ã³ã€ã³ ã»ãã¬ãŒãã¿ã€ãã®ããäºææ§ã¯ãããŸããïŒ
- ããã°ã©ãã¯ãã«ã¹ã¿ã ãªãœãŒã¹ãå®çŸ©ããããšã§ããã®ã¿ã€ãã®ãªãœãŒã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ãã¢ã«ãŠã³ãã«ä¿åã§ããŸã - (ãªãœãŒã¹ TwoCoins {c1: 0x0.Currency.Coin, c2: 0x0.Currency.Coin})
- 競åããããšãªãååã§ãªãœãŒã¹ãåç §ã§ããŸããããšãã°ã次ã䜿çšã㊠XNUMX ã€ã®ãªãœãŒã¹ãåç §ã§ããŸãã ããŒã³ã€ã³ãº.c1 О ããŒã³ã€ã³ãº.c2.
ã³ã€ã³ãªãœãŒã¹ã®çºè¡š
ã¢ãžã¥ãŒã«å é貚 ããã³ãšããååã®ãªãœãŒã¹ã¿ã€ã ã³ã€ã³
ããã€ãã®ç¬é:
- ã³ã€ã³ åã®ãã£ãŒã«ãã XNUMX ã€ããæ§é äœã§ã u64 (64ããã笊å·ãªãæŽæ°)
- ã¢ãžã¥ãŒã«ããã·ãŒãžã£ã®ã¿ é貚 åã®å€ãäœæãŸãã¯ç Žæ£ã§ããŸã ã³ã€ã³.
- ä»ã®ã¢ãžã¥ãŒã«ãšã¹ã¯ãªããã¯ãã¢ãžã¥ãŒã«ã«ãã£ãŠæäŸããããããªã㯠ããã·ãŒãžã£ãéããŠã®ã¿å€ãã£ãŒã«ããæžã蟌ã¿ãŸãã¯åç §ã§ããŸãã
é éã®å£²åŽ
ãã®ããã·ãŒãžã£ã¯ãªãœãŒã¹ãåãå
¥ããŸã ã³ã€ã³ ãå
¥åãšããŠäœ¿çšããããããªãœãŒã¹ãšçµåããŸã ã³ã€ã³åä¿¡è
ã®ã¢ã«ãŠã³ãã«ä¿åãããŸã:
- å ¥åãªãœãŒã¹ Coin ãç Žæ£ãããã®å€ãèšé²ããŸãã
- åä¿¡è ã®ã¢ã«ãŠã³ãã«ä¿åãããŠããåºæã® Coin ãªãœãŒã¹ãžã®ãªã³ã¯ãåä¿¡ããŸãã
- ããã·ãŒãžã£ãåŒã³åºããšãã«ãã©ã¡ãŒã¿ã§æž¡ãããå€ã«ãã£ãŠã³ã€ã³ã®æ°ã®å€ãå€æŽããŸãã
ããã€ãã®ç¬é:
- é梱ããŠã°ããŒãã«ãåãã - çµã¿èŸŒã¿ããã·ãŒãžã£
- é梱 ããã¯ãã¿ã€ã T ã®ãªãœãŒã¹ãåé€ããå¯äžã®æ¹æ³ã§ãããã®ããã·ãŒãžã£ã¯ããªãœãŒã¹ãå ¥åãšããŠåãåãããããç Žæ£ãããªãœãŒã¹ã®ãã£ãŒã«ãã«é¢é£ä»ããããå€ãè¿ããŸãã
- ã°ããŒãã«ãåãã ã¢ãã¬ã¹ãå ¥åãšããŠåãåãããã®ã¢ãã¬ã¹ã«ãã£ãŠå ¬éããã (ææãããŠãã) T ã®äžæã®ã€ã³ã¹ã¿ã³ã¹ãžã®åç §ãè¿ããŸãã
- &mut ã³ã€ã³ ããã¯ãªãœãŒã¹ãžã®ãªã³ã¯ã§ã ã³ã€ã³
draw_from_senderã®å®è£
ãã®æé :
- åºæã®ãªãœãŒã¹ãžã®ãªã³ã¯ãååŸããŸã ã³ã€ã³ãéä¿¡è ã®ã¢ã«ãŠã³ãã«ãªã³ã¯ãããŠããŸã
- ãªãœãŒã¹ã®äŸ¡å€ãäžãã ã³ã€ã³ æå®ãããéé¡ã®ãªã³ã¯ãä»ããŠ
- æ°ãããªãœãŒã¹ãäœæããŠè¿ããŸã ã³ã€ã³ ãã©ã³ã¹ãæŽæ°ãããŸããã
ããã€ãã®ç¬é:
- ä¿èšŒé 誰ã«ã§ãèµ·ããå¯èœæ§ã¯ãããŸããã éä¿¡è ããã®åŒãåºã åŒã³åºãåŽã¢ã«ãŠã³ãã®ã³ã€ã³ã«ã®ã¿ã¢ã¯ã»ã¹ã§ããŸã
- GetTxnSenderAddress ã«äŒŒãŠãã ã¡ãã»ãŒãžéä¿¡è å åºãã®äžã§
- ããã§ãªãå Žåã¯æåŠãã ã«äŒŒãŠãã å¿ èŠãšãã ãœãªãã£ãã£ã§ã ãã®ãã§ãã¯ã倱æããå Žåããã©ã³ã¶ã¯ã·ã§ã³ã¯åæ¢ããããã¹ãŠã®å€æŽãããŒã«ããã¯ãããŸãã
- ãã㯠ããã¯ãã¿ã€ã T ã®æ°ãããªãœãŒã¹ãäœæããçµã¿èŸŒã¿ããã·ãŒãžã£ã§ããããŸãã
- ãšããŠã é梱, ãã㯠ãªãœãŒã¹ãèšè¿°ãããŠããã¢ãžã¥ãŒã«å ã§ã®ã¿åŒã³åºãããšãã§ããŸã T
ãŸãšã
ç§ãã¡ã¯ Move èšèªã®äž»ãªç¹åŸŽã調ã¹ãã€ãŒãµãªã¢ã ãšæ¯èŒããã¹ã¯ãªããã®åºæ¬çãªæ§æã«ãæ
£ããŸããã æåŸã«ããã§ãã¯ããããšã匷ããå§ãããŸã
åºæïŒ habr.com