プラスプラス開発者ブログ

岩手県盛岡市のシステム開発会社「株式会社プラスプラス」の開発者ブログです。

Ethereumの技術について

こんにちは。

Ethereumの技術について、ざっと概要を書きたいと思います。

Ethereum Solidity

Ethereumネットワーク上のEVM(Ethereum Virtual Machine:Ethereum仮想マシン)で動作するスマートコントラクトを記述するためのプログラミング言語です。

JavaScriptにフォーマットが似ていますが、クラスがある。また、変数の型がJavascriptとは違い、静的な型付けとなっている。

ほかにも、 他の言語で言うところの Class に相当する Contract を定義でき、継承もできます。

スマートコントラクト

www.bibitpost.com

いろいろ定義があるようです。

今までの技術でも同じことが機能的には実現できるのですが、以下の点が絶対的に違います。

  1. プログラムやデータがブロックチェーンに記録されてるので、改ざんできない(変更することが出来ない)
  2. そもそもプラットフォームが管理者不在でも問題ないブロックチェーンで動作する(インフラについて気にする必要がない)

Web3.js

Ethereum を制御する JavaScript のライブラリ。 制御には直接関連しないが、Ethereum に関連するユーティリティモジュールも含まれる。

Ethereum の概要

Web3.js から見た Ethereum の要素

Ethereum は以下のような構成になっているそうです。

Ethereum が動作する環境の種別

プライベートネット : 自分または自分の知るノードのみが参加するEthereumネットワーク。 開発用などはこちらで作業する。 普段はこれでOK。

テストネット : テスト用に運用されている開かれたネットワーク。

ライブネット : Ethereumの本番ネットワーク。

技術情報

一次情報

本家サイトはこちら。 ethereum.org

ソースはこちら。 github.com

メインネットのトランザクションを見たり出来ます。 https://etherscan.io/

学習に役立つサイト

ブロックチェーンEthereum入門 1 | NTTデータ先端技術株式会社

Solidity — Solidity 0.5.8 documentation

JavaScript API · ethereum/wiki Wiki · GitHub

Ethereum Stack Exchange

Create a cryptocurrency contract in Ethereum

リンク集のようになってしまいましたが、次回より具体的な内容を書いていけたらと思います。