ðžSolidityã®çè§£
Solidityã¯ãã¹ããŒãã³ã³ãã©ã¯ããå®è£ ããããã®ãªããžã§ã¯ãæåã®é«æ°Žæºèšèªã§ããã¹ããŒãã³ã³ãã©ã¯ãã¯ãã€ãŒãµãªã¢ã ã¹ããŒãå ã®ã¢ã«ãŠã³ãã®åäœãå¶åŸ¡ããããã°ã©ã ã§ããã
Solidityã¯ãã€ãŒãµãªã¢ã ä»®æ³ãã·ã³ïŒEVMïŒãã¿ãŒã²ãããšããŠèšèšãããã«ãŒãªãŒãã©ã±ããèšèªã§ããC++ãPythonãJavaScriptã®åœ±é¿ãåããŠããŸããSolidityãã©ã®ãããªèšèªãã圱é¿ãåããŠãããã«ã€ããŠã®è©³çްã¯ãã圱é¿ãåããèšèªãã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
Solidityã¯éçã«åä»ããããç¶æ¿ãã©ã€ãã©ãªãè€éãªãŠãŒã¶ãŒå®çŸ©åãªã©ããµããŒãããŠããŸãã
Solidity ã䜿çšãããšãæç¥šãã¯ã©ãŠããã¡ã³ãã£ã³ã°ããã©ã€ã³ããªãŒã¯ã·ã§ã³ããã«ãã·ã°ããã£ãŠã©ã¬ãããªã©ã®çšéã®ã³ã³ãã©ã¯ããäœæã§ããŸãã
ã³ã³ãã©ã¯ãããããã€ããå Žåã¯ãSolidity ã®ææ°ãªãªãŒã¹ ããŒãžã§ã³ã䜿çšããå¿ èŠããããŸããäŸå€çãªå Žåãé€ããææ°ããŒãžã§ã³ã«ã®ã¿ã»ãã¥ãªãã£ä¿®æ£ãæœãããŠããŸããããã«ãæ°ããæ©èœã ãã§ãªããç Žå£çãªå€æŽã宿çã«å°å ¥ãããŸããçŸåšã0.y.z ã®ããŒãžã§ã³çªå·ã䜿çšããŠããã®å€åã®éãã瀺ããŠããŸãã
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.16 <0.9.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}æåã®è¡ã¯ããœãŒã¹ã³ãŒããGPLããŒãžã§ã³3.0ã§ã©ã€ã»ã³ã¹ãããŠããããšã瀺ããŠããŸãããœãŒã¹ã³ãŒããå ¬éããããšãããã©ã«ãã§ããç°å¢ã§ã¯ãæ©æ¢°å¯èªã®ã©ã€ã»ã³ã¹æå®åã¯éèŠã§ãã
次ã®è¡ã¯ããœãŒã¹ã³ãŒããSolidityããŒãžã§ã³0.4.16ããŸãã¯ããŒãžã§ã³0.9.0ãŸã§ã®æ°ããããŒãžã§ã³ã§æžãããŠããããšãæå®ããŸããããã¯ãã³ã³ãã©ã¯ããã³ã³ãã€ã©ã®æ°ããããŒãžã§ã³ã§ã³ã³ãã€ã«ã§ããªãããã«ããããã§ãããã©ã°ããšã¯ããœãŒã¹ã³ãŒããã©ã®ããã«æ±ãããã³ã³ãã€ã©ã«æç€ºããäžè¬çãªãã®ã§ã (äŸ: pragma once)ã
Solidityã®æå³ã§ã®ã³ã³ãã©ã¯ãã¯ãã€ãŒãµãªã¢ã ã®ãããã¯ãã§ãŒã³äžã®ç¹å®ã®ã¢ãã¬ã¹ã«ååšããã³ãŒãïŒãã®é¢æ°ïŒãšããŒã¿ïŒãã®ç¶æ ïŒã®ã³ã¬ã¯ã·ã§ã³ã§ããuint storedData;ãšããè¡ã¯ãuintåïŒ256ãããã®ç¬Šå·ãªãæŽæ°ïŒã®storedDataãšããç¶æ 倿°ã宣èšããŠããŸããããã¯ããŒã¿ããŒã¹ã®1ã€ã®ã¹ããããšèããããšãã§ããããŒã¿ããŒã¹ã管çããã³ãŒãã®é¢æ°ãåŒã³åºãããšã§ã¯ãšãªã倿Žãå¯èœã§ãããã®äŸã§ã¯ãã³ã³ãã©ã¯ãã§å€æ°ã®å€ã®å€æŽãååŸã«äœ¿çšã§ãã颿° set ãš get ãå®çŸ©ããŠããŸãã
ãããªãšæã£ããå¿æŽãããïŒ
ãé¡ãèŽããŸã