Ethereum ネットワークは、スマートコントラクトと呼ばれるプログラムを動かす分散型プラットフォームです。スマートコントラクトは、ネットワーク上の一意のアドレスに保存され、トランザクションで起動されると自動的に実行されるプログラムです。Ethereum 上で動くため、汎用プログラミング言語で表現できる計算はすべて扱えます。
スマートコントラクトが実行されると、ネットワーク上の各ノードが結果を独立して検証します。その後ネットワークはコンセンサスに達します。つまり全ノードが結果に合意し、その結果が永続的な記録の一部になります。
スマートコントラクトを実行するには、Ethereum の通貨である ETH で手数料を支払います。この手数料(「ガス」と呼ばれます)は、トランザクションの実行とブロックチェーンへの追加という計算作業に対する、ネットワークのバリデーターへの報酬です。
スマートコントラクトがアカウント間で ETH を送金する場合、その残高変更もブロックチェーンに記録されます。したがってブロックチェーンは、各アカウントの残高と各スマートコントラクトが保持するデータを含む、ネットワークの現在の状態の完全で検証可能な記録になります。
トランザクションはブロックにまとめられ、ブロックは順序どおりに連なってブロックチェーンを形成します。ブロックチェーンは、ネットワーク開始以降の全トランザクションの完全な履歴です。
各ブロックには一意のハッシュ識別子(0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3q のような長い 16 進文字列)があり、ブロック内の各トランザクションにも独自のハッシュがあります。いずれのハッシュでも、特定のブロックやトランザクションを検索して確認できます。
新しいブロックが追加されると、ネットワーク上の全ノードにブロードキャストされます。すべてのトランザクションが公開され検証可能なため、ブロックチェーンはネットワークの状態を透明かつ説明可能な記録として提供します。
Ethereum からデータを読む(アカウント残高の確認やスマートコントラクトの状態照会など)には、Ethereum ノードへのアクセスが必要です。自分でノードを動かす(例: go-ethereum ↗)か、Cloudflare のようなゲートウェイを使います。読み取りは、ネットワークへ照会を送る標準インターフェイスである JSON-RPC API ↗ で行います。
データを書く(トランザクションの送信やスマートコントラクトのデプロイなど)場合も JSON-RPC API を使います。あわせて、トランザクション手数料用の ETH を用意し、Ethereum ウォレット ↗ の秘密鍵でトランザクションに署名する必要があります。送信すると、トランザクションはネットワークにブロードキャストされ、ブロックチェーンに取り込まれます。
独自ノードを動かさず、カスタムドメイン名から Ethereum ネットワークへアクセスするには、Cloudflare で Ethereum Gateway を作成 できます。
詳細は、公式の RPC ドキュメント ↗ と、Ethereum が提供する ↗ 公式ドキュメントを参照してください。