ã€ã³ãããã¯ã·ã§ã³#
Node Guardians ã¯ãSolidity ãš Cairo ã®åŠç¿ãç®çãšãããŠã§ããµã€ãã§ããçŸããã²ãŒã ã€ã³ã¿ãŒãã§ãŒã¹ã®è£ã«ã¯åªããã³ãŒã¹ãã¶ã€ã³ããããåŠç¿ã匷ããå§ãããŸãããã®ã·ãªãŒãºã§ã¯ãã³ãŒã¹ãäžæ©ãã€é²ããæ¹æ³ã玹ä»ããŸãã
以äžã®ãŠã§ããµã€ããéããšã次ã®ãããªç»é¢ã衚瀺ãããŸããåã«ãŒãã¯ããŒãããšã®ã¿ã¹ã¯ã§ãããã¿ã¹ã¯ãå®äºãããšå ±é ¬ãããããŸãã
ãã«ããã¥ãŒããªã¢ã«ïŒCairo#
æåã®ã¿ã¹ã¯ã¯ãSetting Up: Cairoãããå§ãŸããŸãããã®ã¿ã¹ã¯ã®ç®çã¯ãCairo ã®éçºç°å¢ãã»ããã¢ããããã¿ã¹ã¯ã®æåºæ¹æ³ãçè§£ããããšã§ãããã«ããã¥ãŒããªã¢ã«ïŒCairo ãš CTF ãã¥ãŒããªã¢ã«ïŒCairo ããããŸãããŸãã¯ããã«ããã¥ãŒããªã¢ã«ïŒCairoãããå§ããŸããããå³äžã®Start Questãã¯ãªãã¯ããŸãã
ãŸã㯠git ãš npm ãã€ã³ã¹ããŒã«ããŸããMacOS ã®å Žåã¯ãbrew install node
ãšbrew install git
ãå
¥åããŠã€ã³ã¹ããŒã«ã§ããŸããïŒãããã¯ãŒã¯ã®åé¡ãããå Žåã¯brew ã®ãã©ãŒã䜿çšã§ããŸãïŒWindows ã®å Žåã¯ãã€ã³ã¹ããŒã«æ¹æ³ãæ€çŽ¢ããŠãã ããã
ã€ã³ã¹ããŒã«ãå®äºããããgit -v && node -v
ãšå
¥åããããŒãžã§ã³ã衚瀺ãããã°ç¶è¡ããŸããnode ã®ããŒãžã§ã³ã¯ 16 以éã§ããå¿
èŠããããŸãã
GitHub ã®ããŒã ããŒãžã§ãng-questplayãšããååã®ãã©ã€ããŒãïŒPrivateïŒãªããžããªãäœæããŸãã
次ã«ãGitHub Applicationã®ãªã³ã¯ãã¯ãªãã¯ããŠè¿œå ããŸãããã®ã¢ããªã±ãŒã·ã§ã³ã¯ãå°æ¥ã®è§£çã³ãŒãã®ã¢ããããŒãããã¹ãã«åæ Œãããã©ãããæ€èšŒããããã«äœ¿çšãããŸããäœæãã ng-questplay ã«ã€ã³ã¹ããŒã«ããã ãã§ãä»ã®ãªããžããªã«ã¯ã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸããã
å ¬åŒã®ãªããžããªãã¯ããŒã³ãããã©ã€ããŒããªããžããªã«ãªã³ã¯ããŸãã
git clone [email protected]:Nodeguardians/ng-questplay.git
cd ng-questplay
git remote set-url origin [email protected]:{GITHUB_USERNAME}/ng-questplay.git
git push -u origin main
ng-questplay ãã©ã«ãã§ã以äžã®ã³ãã³ããå®è¡ããŠå¿ èŠãªäŸåé¢ä¿ãã€ã³ã¹ããŒã«ããæåã®ã³ããããè¡ããŸãã
npm run start-adventure
git add .
git commit -m "Install initial dependencies"
Cairo ã®éçºã«ã¯ scrab ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããã㯠Cairo ã®ããã±ãŒãžã³ã°ãšããã±ãŒãžç®¡çããŒã«ã§ããææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠãã ãããã€ã³ã¹ããŒã«ã¬ã€ãã®ãªã³ã¯
次ã«ãGitHub ã®ããŒã¯ã³ãèšå®ããŠã¿ã¹ã¯ãããŠã³ããŒãããŸãã
- GitHub ã®å³äžã®ã¢ã€ã³ã³ãã¯ãªãã¯ããŠãèšå®ããŒãžã«ç§»åããŸãã
- å·ŠåŽã®ãµã€ãããŒã§ãDeveloper SettingsïŒæåŸã®ãªãã·ã§ã³ïŒ> Personal Access Tokens ãã¯ãªãã¯ããŸãã
- æ°ããããŒã¯ã³ïŒclassicïŒãçæããŸãïŒããšãã°ããNode Guardians Questplayããšããååã«ããŸãïŒã
- ãã®ããŒã¯ã³ã«å ¬éãªããžããªãžã®ã¢ã¯ã»ã¹æš©éãä»äžããŸãã
- ããŒã¯ã³ãçæããŸãã
ããŒã¯ã³ããããžã§ã¯ããã©ã«ãã®.env ãã¡ã€ã«ã«ã³ããŒããGITHUB_TOKEN = "ghp_..."
ãšããååã§ä¿åããŸãã
quest find build-tutorial-cairo
ãå®è¡ããŠæåã®ã¿ã¹ã¯ãããŠã³ããŒãããŸãã
次ã«ãcd ./campaigns/starting-cairo/build-tutorial-cairo
ãå®è¡ããŠã¿ã¹ã¯ã®ãã©ã«ãã«ç§»åããŸãã
æåã®ã¿ã¹ã¯ã¯ãsrc/hello.cairo ã® hello_guardian () ã'Hello Guardian'
ãè¿ãããã«ããå¿
èŠããããŸãã
çãã¯æäŸããŸãããããã³ããæäŸããŸããCairo 㯠Rust ã®æ§æã䜿çšããŠããã2 ã€ã®ãã€ã³ãããããŸãïŒ
- 颿°ã®æ»ãå€ã«ã€ããŠã¯ãåèè³æãåç §ããŠãã ããã
- Cairo ã®æåååã«ã€ããŠã¯ãåèè³æãåç §ããŠãã ããã
quest test 3
ãå
¥åããŠãã³ãŒãã«ãšã©ãŒããªããããŒã«ã«ã§ãã¹ãããŸãããšã©ãŒãããå Žåã¯ããšã©ãŒã¡ãã»ãŒãžã«åºã¥ããŠã³ãŒããä¿®æ£ããå¿
èŠããããŸãã
次ã«ãåçãæåºããŸããèªåçã«æåºããããšããå§ãããŸãããŸããã³ãŒããã³ãããããŸããã³ãããã¡ãã»ãŒãžã¯ä»»æã®ãã®ãå ¥åããŠãã ãããäŸãã°ã次ã®ããã«å ¥åããŸãã
git add .
git commit -m "complete quest 3"
ãã®åŸãquest submit
ãå
¥åããæåãããŸã§åŸ
ã¡ãŸããæåããããããŒãžã«æ»ããVerify ãã¯ãªãã¯ããŸããããã€ãã®ã¿ã¹ã¯ã«ã¯ãé衚瀺ã®ãã¹ãã±ãŒã¹ãããå ŽåããããŸãã®ã§ãããŒã«ã«ã§å®å
šã«ãã¹ãã«åæ ŒããŠããŠããå¿
ãããã¿ã¹ã¯ãå®äºããŠããããã§ã¯ãããŸãããæåºãå®äºãããšãSummary ã衚瀺ãããåŠãã éèŠãªãã€ã³ããæ¯ãè¿ãããšãã§ããŸãã
ç²åŸããçµéšå€ã¯ãã¢ã«ãŠã³ãã®ã¬ãã«ãšã°ããŒãã«ã©ã³ãã³ã°ãåäžãããããã«äœ¿çšãããŸãããŽãŒã«ãã¯ãã£ã©ã¯ã¿ãŒã®ã¢ããã°ã¬ãŒãã«äœ¿çšãããŸãïŒããŸãæå³ã¯ãããŸããïŒã
CTF ãã¥ãŒããªã¢ã«ïŒCairo#
次ã«ãCTF ã¿ã¹ã¯ããããŸããCTF ã¿ã¹ã¯ã§ã¯ããã¹ããããã«ã³ã³ãã©ã¯ãããããã€ãããã®ã³ã³ãã©ã¯ããšããåãããŠãã¿ã¹ã¯ã®ç®æšãéæããå¿ èŠããããŸãããããã¯ãšã¯ã¹ãããŒã©ãšã®ããåããCLI ã䜿çšããŠãã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ãæ°ããã³ã³ãã©ã¯ãããããã€ããŠåŒã³åºããªã©ãææ®µã¯åããŸããã
ã¿ã¹ã¯ãå®äºããåã«ããŠã©ã¬ããã®ç§å¯éµã®ãšã¯ã¹ããŒãæ¹æ³ãã³ã³ãã©ã¯ãã®äœæãšããåãæ¹æ³ãåŠã¶ããšããå§ãããŸããå ¬åŒããã¥ã¡ã³ã https://docs.starknet.io/documentation/quick_start/environment_setup/ ãäžæã®ãããªãã¥ãŒããªã¢ã«ãåèã«ããŠãã ããã
å·Šäžã®deploy sand devilãã¯ãªãã¯ãããŠã©ã¬ããã«æ¥ç¶ããTestnet ã«åãæ¿ãããã©ã³ã¶ã¯ã·ã§ã³ãéä¿¡ãããšããããã€ãããã³ã³ãã©ã¯ãã®ã¢ãã¬ã¹ã衚瀺ãããŸãã
ãã®ã¿ã¹ã¯ã§ã¯ããŸã count ã®å€ãç¥ãå¿ èŠããããŸãããã®åŸãslay ãåŒã³åºããåŒæ°ã« count ãšåãå€ãæžç®ãããšã0 ã«ãªããŸããæãç°¡åãªæ¹æ³ã¯ããã©ãŠã¶ã§ãããã€ããã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããå³åŽã®read contractãšwrite contractã䜿çšããŠã¿ã¹ã¯ãéæããããšã§ãã
count ã 0 ã«èšå®ããããVerifyãã¯ãªãã¯ããŠã¿ã¹ã¯ãå®äºããŸãã
次ã®ã¹ããã#
次ã¯ãCairo ã®è©³çްãªå 容ã«å ¥ããé£æåºŠ 2 ã®ãThinking in Cairoããå®äºããŸããã«ããŽãªã¯ã¢ã«ãŽãªãºã ãšããŒã¿æ§é ã§ãã