結論:スマートコントラクトは「ブロックチェーン上で自動実行される契約プログラム」で、Solidityという言語で書きます。 いきなり本番のブロックチェーンや資金は不要です。Solidityコースなら、ブラウザ内の本物のコンパイラとEVMでコントラクトをデプロイし、関数を呼ぶところまで無料で試せます。
スマートコントラクトとは
「条件を満たしたら自動で実行される」プログラムをブロックチェーン上に置いたものです。改ざんしにくく、管理者なしで動くのが特徴。背景の仕組みは Ethereumとスマートコントラクト ― 「動くお金」 と EVMとガス ― なぜ手数料を払うのか(どちらも読み物)で押さえられます。
最小のコントラクトを書く
まずは形から。最小のコントラクト ― pragma と contract をブラウザでコンパイル・デプロイし、状態変数と型、関数 ― 読む関数・書く関数 で「台帳に書く・読む」を体験します。ここはすべてブラウザで実行できます。
お金とルールを扱う
スマートコントラクトの醍醐味はお金の扱いです。「誰が・いくら送ったか」は msg.sender と msg.value、不正を防ぐガードは require と modifier、実際の送受金は payable と送金、履歴を残すログは event で学べます。独自通貨づくりの定番は ERC-20トークン です。
安全に学ぶために
コントラクトのバグは資金の損失に直結するため、セキュリティ ― リエントランシー攻撃(読み物)まで目を通しておくと安心です。本記事は技術の学習用で、投資を勧めるものではありません。実際の資金やウォレットなしで、Solidityコースのブラウザ実行だけで一通り体験できます。