2018年5月17日木曜日

【ethereum】開発前の知識整理

  • 公開日:2018年05月17日

記事概要

2018年のGoogle I/Oが残念すぎた(もうスマホは進化しないのでしょうか。新しいライブラリで誤魔化しているだけですね。イノベーションゼロ)ので、コントラクト開発をしようと考えています。ということで、開発に最低限必要なethereumの用語をまとめた記事です。
gethでの環境構築や仮想通貨の技術的な仕組みは知っている前提です。まだメモ書きの段階です。徐々に増やしていきます。

環境

  • ubuntu-17.10
  • ethereum Geth/v1.7.3

DApps

「Decentralized Applications(非中央集権・分散型のアプリケーション)」の略です。

METAMASK

MetaMaskはChromeの拡張機能として使用するウォレットです。ICOに参加する時やDAppsのオンラインゲームで遊ぶ時、DEXの取引所を使う時に必要になります。git Hubでソースが公開されています。

DEX

DEXは分散型取引所のことです。分散型取引所とは、中央管理者がいなくても仮想通貨の取引が可能な取引所の事です。逆に、中央集権型取引所は、日本ではcoincheckやbitFlyer、海外ではpoloniexやbittrexのような中央管理者に仮想通貨を預けて取引を行う取引所のことです。しかし、中央集権型取引所では、秘密鍵の管理を取引所に委任している形になっているため、取引所の内部の人間が顧客の資金を不正に引き出すことが出来てしまう上、秘密鍵を持っている中央管理者へのハッキングリスクがあります。なので、特定の仮想通貨を購入した後は取引所から対応したウォレットに移すことが推奨されています。

ERC20

イーサリアムベースのトークンです。トークンに対する技術的に統一された仕様になります。また、ERC20トークンはERC20トークン対応のウォレットでないと管理できません。
ERC とは「Ethereum RFC (Request for Comment)」の意味で、その20番目だったために「ERC20」と呼ばれているそうです。

Solidityの学習

SolidityはEthereum(イーサリアム)上で動くスマートコントラクト開発の言語です。
まずはローカルに環境を整える前に、CryptoZombiesで実装するとスマートコントラクトの理解ができるでしょう。
また、開発前にMETAMASKをChromeにインストールしましょう。章を進めると、Rewardがもらえます。

Contracts

コントラクトをイーサリアム上にデプロイすると、イミュータブルになる。つまり編集も更新もできなくなる。コントラクトに何か欠陥があっても、それをあとで修正する方法はない。

solidity

msg.value

msg.valueは、コントラクトにどのくらいEtherが送られたかを見る。external payable修飾詞を使う

ECDSA

デジタル署名アルゴリズム。楕円曲線暗号を使った公開鍵のアルゴリズムで、RSAよりも短い鍵長で安全性を担保できる。
openSSLのバージョンを確認する。


$ openssl version
OpenSSL 1.0.2g  1 Mar 2016

まとめ

まだ未完成です。

続きます。

運営サイト


参考記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...