Solidity[Solidityのはじめ方] Part19: アクセス制御(onlyOwner, modifiers) スマートコントラクト開発において、セキュリティは最も重要な要素の一つです。特に、誰がどの関数を実行できるかを制御する「アクセス制御」は、コントラクトの安全性と信頼性を保つために不可欠です。 このステップでは、Solidityで最も一般的で基...Solidity
Solidity[Solidityのはじめ方] Part18: オーバーフロー/アンダーフロー対策 Solidityにおける数値計算の落とし穴とその対策 🔢 スマートコントラクトでは、数値を扱う計算が頻繁に行われます。特に、トークンの移転や残高管理など、お金に関わる処理では計算の正確性が極めて重要です。しかし、コンピュータの数値表現には限...Solidity
Solidity[Solidityのはじめ方] Part17: 再入可能性攻撃とguard check はじめに Solidityでスマートコントラクトを開発する上で、セキュリティは最も重要な要素の一つです。特に「再入可能性攻撃(Reentrancy Attack)」は、過去に大きな被害を出したこともある、非常に危険な脆弱性として知られていま...Solidity
Solidity[Solidityのはじめ方] Part16: ガス最適化の基本 スマートコントラクトを実行するには「ガス」と呼ばれる手数料が必要です。ガス代はEthereumネットワークの混雑状況やコントラクトの処理の複雑さによって変動します。ガス代を意識せずにコントラクトを作成すると、ユーザーにとって利用しにくいもの...Solidity
Solidity[Solidityのはじめ方] Part15: ストレージとメモリの違い スマートコントラクトのデータ管理の要!ガス代にも影響大!Solidityでスマートコントラクトを開発する上で、データの保存場所を理解することは非常に重要です。特に、storage(ストレージ)とmemory(メモリ)は、その性質とコストが大...Solidity
Solidity[Solidityのはじめ方] Part14: 配列とイテレーション Solidityでデータをまとめて扱うための「配列」とその繰り返し処理「イテレーション」を学びましょう!配列とは? 🤔 配列は、同じ型のデータを複数まとめて格納するためのデータ構造です。スマートコントラクト内で、ユーザーリスト、投票結果、設...Solidity
Solidity[Solidityのはじめ方] Part13: マッピングと構造体 Solidityで複雑なデータを効率的に扱う方法を学びましょう。はじめに スマートコントラクトでは、様々なデータを管理する必要があります。ユーザーの情報、トークンの残高、アイテムの属性など、データは多岐にわたります。Solidityには、こ...Solidity
Solidity[Solidityのはじめ方] Part12: エラー処理(require, revert, assert) はじめに:なぜエラー処理が重要なのか? 🤔スマートコントラクトは、一度デプロイされると変更が非常に困難です。そのため、予期せぬ動作や不正な利用を防ぐために、堅牢なエラー処理メカニズムを実装することが極めて重要になります。エラー処理を怠ると、...Solidity
Solidity[Solidityのはじめ方] Part11: イベントとログの利用 スマートコントラクトから外部へ情報を伝える仕組みを学びましょう。 スマートコントラクトはブロックチェーン上で動作しますが、その内部状態の変化や特定の出来事を外部アプリケーション(DAppsのフロントエンドなど)やユーザーに効率的に知らせる仕...Solidity
Solidity[Solidityのはじめ方] Part10: コンストラクタと初期化 Solidityの学習ステップ3へようこそ!ここでは、スマートコントラクトの骨格となる「コンストラクタ」と、それを使った「初期化」について学びます。これらはコントラクトが正しく機能するための基礎となる重要な概念です。コンストラクタとは? 🤔...Solidity