初心者向けにsolidityのコードやブロックチェーン技術、Ethereumを解説します。プログラミングができない方へもブロックチェーンやFintechの魅力を伝えられればと思います。現在作成中dappなどのアプリ開発も綴っていきます。
前回はERC20トークンの発行方法についてご紹介しました。順序が逆になっているような気もしますが今回は初心者の方に向けたsolidityの環境設定について解説していこうと思います。主にsolidity、Dappsの開発に必要な環境、ソフトのインストール、使い方についての記事になります。 1.環境設定 1.Node.js 2.truffle 3.Ganache 4.Metamask 5.VS Code 1.環境設定 まずは必要なものを準備しましょう。 こちらのERCトークン導入方法の記事でも同様の事をご紹介しています。soliditystg.hateblo.jp 1.Node.js まずはパッケ…
更新が空いてしまいました。今回はDappsを作る上で最も重要といっても過言ではないようなERCトークンについて解説していこうと思います。ERCトークンといえばこんな記事を見つけました。かなり古い記事ですがあの有名なゲームMineCraftでもブロックチェーンを利用したサーバーが開かれているようですね。dappsmarket.net 恥ずかしながら全く知りませんでした。この際使われているのがERCトークンです。しかしこれは通常のトークンとは異なり特殊なものを利用しているようです。今回は一番基礎的なトークンであるERC20の導入方法について解説していきます。初心者の方にもわかりやすいように一からや…
今回は話題になってるようでなってないビジネスについて書いていこうと思います。私はブロックチェーンアプリの開発に携わっておりアプリを利用したビジネスに挑戦しようと奮闘しているわけですが,,,。これがとても難しいです。あまり詳しく述べられるものでもありませんが、 私がやろうとしていたビジネス内容は資金の動きをブロックチェーン上で追うというものでした。しかし類似ビジネスはいくらでもある上段々とブロックチェーンでやらなければならない理由が不明瞭になってきます。よくある話ですがビジネスと技術の間にはジレンマがあります。 技術を使おうと固執するとビジネスの視点では足をすくわれかねません。 しかし開発に携わ…
前回は話題になっている量子コンピューターについてとEthereum上でドメイン取得を可能とするアプリであるMakerについてご紹介しました。このMakerは私が最も注目しているアプリの一つであり特に取り上げてsolidityのコード解説にも使わせて頂いております。 soliditystg.hateblo.jp 今回はブロックチェーン技術の活用方法として更なる分散型アプリケーションを紹介していきたいと思います。 前回までの記事はこちらから参照してください。soliditystg.hateblo.jp 1.IBMの食品追跡ブロックチェーン 1.概要 2.透明性について 3.ホタテの漁獲量の申告 4…
前回から少し期間が空いてしまいましたが今回はsolidityのコーディングを行っていこうと思います。Ethereumブロックチェーン上でドメイン取得ができるように試みているアプリケーション、Makerのコードを用いて解説しています。昨日入ったニュースでは中国国内での仮想通貨の市場規模が1兆円を超えたようですね。先日のブロックチェーン技術解説でも触れた通り中国の持つ性質とブロックチェーンは極めて親和性が高いです。また中国当局もドル相場からの脱却を狙いブロックチェーン経済の発展を推進しているようです。技術が革新的に広まっていくのが興奮する反面異様な広まり方にはどことなく怖い感じもありますね...。…
今回も前回から引き続き仮想通貨を代表例にしてブロックチェーン技術について解説していこうと思います。今日は前回紹介したPoW PoSに代わる2つのブロックチェーンを機能させるシステムについてご紹介します。前回までの解説はこちら。 soliditystg.hateblo.jp soliditystg.hateblo.jp Proof of Importance 1.NEMの独自性 2.NEMの安定性 3.Multisig 1.使用例 個人利用 2.使用例 グループ利用 Proof of Burn 1.PoW,PoSの不平等性 2.Proof of Burnの仕組み 3.得られる利点 Proof o…
前回ご説明した通りブロックチェーンはトランザクションが書き込まれる事で接続されます。(当然ですが) このとき重要なのはどのようなメカニズムによって次のブロックが作成されるかということです。今回はこのシステムについて解説していきます。 前回までの解説はこちらからご覧ください。 soliditystg.hateblo.jp soliditystg.hateblo.jp soliditystg.hateblo.jp soliditystg.hateblo.jp Proof of Work PoWのメカニズム PoWへの批判点 1.電力消費 2.非中央集権性の崩壊 3.合理性への依存 Proof of…
前回はブロックチェーンがどのような発想のもとで作られたか、 その暗号学的なコンセプトをビザンティン将軍問題を通して考えました。 このビザンティン将軍問題の解決方法こそが今日における暗号学、 ブロックチェーン技術の応用へとつながっているわけです。soliditystg.hateblo.jp 今回は実際にブロックチェーンが書き込まれるトランザクション、 そのチェーンがどのようにして動いているかを解説していきたいと思います。ここまでのブロックチェーン技術解説については次の記事を参照してください。soliditystg.hateblo.jp soliditystg.hateblo.jp ひとえにブロッ…
今回は前々回同様に暗号資産管理分散型アプリであるMakerを基にしてsolidityコード解説を行っていこうと思います。前回の記事はこちらから。 soliditystg.hateblo.jp 個人的な話ですが作成中のDappが極めて難航しています。やはりJavaScriptの学習を先にした方がよいのかもしれませんね。個人レベルならともかくフロントエンドとの接続や大がかりな呼び出しをするアプリケーションとなると必然的にERCトークンを発行しなければならずデータベースの知識も必要となります。そっち側は素人なのでうまくいきませんね…。今回はそれほど難しくないコーディングです。論理、数学演算の他関数参…
今回は前回の記事でご紹介しましたブロックチェーン上で安定的な資産管理を可能にする分散型アプリケーションであるMakerであるのコーディング解説を行いたいと思います。MakerはERC721トークンでDaiと呼ばれる担保型の暗号資産を個人で発行し管理します。詳しいことはこちらの記事で説明していますので良ければ参照してください。 soliditystg.hateblo.jp バージョンは0.4.13なので少し古いものですね。非常に簡潔に書かれたコードなのに他のアプリにも応用できる技術やアクセスチェックのコードが満載で非常に勉強になります。面倒でも一度目を通しコードを写してみると勉強になるかもしれま…
更新が空いてしまいました。今回もブロックチェーン技術の活用について紹介していこうと 思いますがその前に…。こんな話題が出ていますね。 japan.cnet.com どうやらGoogleが本格的に量子コンピューターの実用化に向けて実装を始めているようです。発表によると量子コンピューターはスーパーコンピューターが1万年かかる計算を3分20秒で 解いてしまったとか。(既存のスーパーコンピューターの研究者はこの発表について否定的な 見解を述べています) この影響でBitCoinの価格がかなり落ちていますね。 というのも仮想通貨は非中央集権を目指す上で信頼性暗号能力によって担保しています。 solidi…
今回は前回に引き続きDappsについて解説していきたいと思います。前回の記事ではERCトークンの種類と分散型ゲームについて紹介しました。前回書き忘れていましたが分散型ゲームをプレイするためにはMetamaskとの連携が必要です。これはJavascriptによってフロントエンド側でアプリケーションが呼びだされているためチェーンとweb3とをつなぐために不可欠だからです。前回のゲームと異なり今回は実用アプリケーションについて説明していきます。前回記事のゲーム紹介はこちらから。ブロックチェーン上で動くゲームについて書いてます。 soliditystg.hateblo.jp 1.Tether 2.Et…
今回もブロックチェーン技術の応用について紹介していきます。現在Fintechアプリケーションの開発をしているとのことでしたがやはり送金システムを利用すると金融法に引っかかるのが痛いですね…。英国や米国と異なり日本はかなり規制が厳しいですからね。ビジネスの難しさを痛感しております。 前回紹介した活用例はホンダやBMWの車について書きましたね。 soliditystg.hateblo.jp 今回はDappsの中でもERC721を用いた分散型ゲームについてご紹介していきます。 Ethereumトークンについて 1.ERC20 2.ERC223 3.ERC721 Dapps例 1.CryptoKitt…
今回は引き続きブロックチェーン技術の学習方法についてブロックチェーン技術がどのように活用されているかを紹介していきたいと思います。前回はスマートコントラクトの動かし方を参考書を通じて学習することをご紹介しましたね。 少し話が横道にずれますが昨日の記事ではホンダやBMW、フォードといった大手車メーカーがモビリティサービスにブロックチェーンとスマートコントラクトを試験的に導入していく事を紹介しました。 soliditystg.hateblo.jp このことに引き続き一昨日フォードは走行距離や排気ガス量などの環境ステータスをブロックチェーン上で管理する方向性をしめしました。これは燃費や二酸化炭素の排…
ブロックチェーン技術の活用と今後 1 今回はブロックチェーン技術がこれからの社会でどの様に応用されていくかを考えていこうと思います。現在私は分散型アプリケーション、dappの作成に取り組んでおります。これは金融における法的情報をブロックチェーン上で保存するだけの拙いものではありますが今までの社会ではなかなか実現できなかった発想のようですね。実際にアプリ開発に携わってみるとわかりましたがいざブロックチェーンを実装しようとするとブロックチェーンの必要性を改めて考え直さなければいけないと感じるようになります。チェーン上でどの様に現実の情報を扱うかでブロックチェーンは有用にも無用の長物にもなります。そ…
今回はDapp作成途中でのエラーについて綴っていきます。 ブロックチェーンアプリを作るバックエンドとしてはsolidityを用いてEthereum上でスマートコントラクトを動かします。フロントエンドとしては多くの場合フレームワークであるtruffleを使うことが多いのですが今回はRuby on rails を用いて呼び出してみようと思います。こちらのサイトを参考にさせて頂きました。一から詳しく解説していただいており大変参考になりました。ですが途中でどうしても治らないエラーが出てしまうので今回は後から見直せるように備忘録を残しておこうと思います。 環境設定 1.rails開始 2.次にgem f…
最近はSolidity を用いた金融webサービスを作成しようと奔走しております。 今回はそんなEthereumと金融サービスとの関連について考えていこうと思います。 1.Ethereumの特徴 1.スマートコントラクト...? 2.Ethereumの脆弱性 3.本来の強み 2.BItCoinの価値について 1.ブロックチェーンの有用性 2.仮想通貨の強み 3.生き残る通貨 3.ミニマムチェーン構想 1.Ethereumの特徴 1.スマートコントラクト...? Ethereumの最大の特徴とは何でしょうか?ブロックチェーン上でプログラムを起動できることと考えられがちですが今回はもう少し踏み込ん…
今回は初心者の方向けのブロックチェーン技術の学習方法の紹介の第3回目となります。前回はEthereum,Solidityを最初から始める際のおすすめの本やブロックチェーンのマイニングがどのように行われているかをRubyを通じて理解することを紹介しました。 今回はさらにDapp作成への一歩としてSolidityやブロックチェーンアプリ開発のためのおすすめの教本を紹介したいと思います。前回記事はこちら。 soliditystg.hateblo.jp 1.ブロックチェーン dapp&ゲーム開発入門 Solidityによるイーサリアム分散アプリプログラミング 1.良い点 2.悪い点 3.総評 2.堅牢…
今回はブロックチェーン技術解説の第3回目となります。 前回はハッシュ関数について解説しました。今日は数学的な原理から離れてどのようなコンセプトでブロックチェーンが 生まれてきたかを考えていきたいと思います。 1.合意形成とは 2.ビザンティン問題 3.暗号学としての解法 4.ブロックチェーンの問題点 1.合意形成とは 如何にして集団において合意形成をするのかは昔から考えられていた問題でした。ブロックチェーン技術、とりわけ金銭的価値の絡む仮想通貨でもこの難題は避けては通れないものとなっています。解決のために直感的に思いつくのは中央の権威に意見を集合させコンセンサスを得る方法でしょう。既存の社会で…
Solidity コード解説1今回は実際のユーザーに作られ公開されているdappでのコードを基にして solidityコードを解説していきたいと思います。使うサイトはこちらとなります。 https://etherscan.io/このサイトはEtherscanと言いEthereum上のトランザクションやユーザーにより作成された トークン情報を確認することができるサイトです。今回からEthereum Name Service のコントラクトコードを用いてコード解説をしていきたいと思います。 このサービスはEthereumアドレスにより可読性を持たせることで現実の情報とリンクさせたり ドメインとして…
bitcoinではブロックチェーンを用いた分散型台帳によって貨幣価値の所在が保証されます。 この分散型台帳はbitcoinに参加しているあらゆるノードが確認することができ、 それによっていつどのノード間でどれだけの取引が行われたかが完璧に把握されます。 この取引に対する透明性こそがbitcoinの通貨的価値を裏付け同時に 不正が行われていないことへのコンセンサスを創る足掛かりになっています。 ではこの台帳が如何にして組み立てられているのかを見てみましょう。 まずは準備が必要です。ここでハッシュ関数という関数群を紹介しましょう。 この関数は主にアメリカFBI,DSAの暗号学機関により考案された関…
ブロックチェーン技術解説1 今回からブロックチェーン技術の歴史や変遷、その技術的な原理を初心者の方向けに 解説していこうと思います。さて、ここではまずブロックチェーン技術の成り立ち、 特に現状最も大きな応用技術である仮想通貨について考えていきましょう。 そのためにしばらくはこの仮想通貨を通じてブロックチェーン技術に 慣れていきたいと思います。まず話すべきなのは仮想通貨の歴史とどのように 生まれたか、そしてどのような変遷を経てきたのか、でしょう。 仮想通貨、ひいてはこのブロックチェーンの発想そのものは驚くべきことに 1990年代から既に存在していました。特定の権威的集団を介さずに 各コンピュータ…
Techacademy感想 1年半前私はEthereumやスマートコントラクト技術を学ぶためにTechacademyという プログラミングのオンラインスクールを受講しました。 今回は当時の感想を含めてレビューを書きたいと思います。 1.始めたきっかけ 受講前私はブロックチェーン技術についての本を読んだくらいでした。 仮想通貨に興味を持ちいくらか投資してほんの少しだけ儲けたり、そんなことをしているうちに仮想通貨がどのようにして動いているかに興味を持ち始めました。 数冊の技術書を呼んだ後にEthereum、Solidityの本を買っていざ実践、としましたが うまくいきませんでした。というのも今もそ…
ブロックチェーン技術の勉強方法2 今回は引き続きブロックチェーン技術の学習方法について解説していきます。 前回でおおよそブロックチェーン技術の概要はつかめたと思います。 今回はより深い技術的な部分まで深められる参考書を紹介していきます。 Bitcoin und Cryptocurrency technologies Arvind Narayanan 英語ですが大変よくまとまっております。前回紹介した仮想通貨の教科書の原著です 。特にトランザクションのシステム解説に関しては日本語のものより詳しく原理的に 書かれております。傾向としてエンジニア向けの参考書は英語のものの方が詳しく 書かれており、ま…
初心者向け 1から始めるethereumへの参入 2017年はブロックチェーン元年などと呼ばれました。 昨今ブロックチェーンが注目を浴びる中ブロックチェーン上で機能するプログラムである スマートコントラクトも徐々に実用化に近づきつつあります。 ここではこれからEthereumについての勉強をしたい方や分散型アプリケーションを 開発したい方に向けて1からおすすめの勉強法を解説していこうと思います。 1 ブロックチェーン技術について まずはブロックチェーン技術とは何か、を考えていきましょう。おすすめの書籍です。 よくまとまっているため読み切ればブロックチェーン技術の概要、 その歴史はおおよそつかむ…
Solidity つまづきやすいコード解説 今回は自分が昔書籍などを読みサンプルコードを実行しようとした際につまづいたところを解説していこうと思います。多くのEthereum解説の書籍でのサンプルコードはいまだに コンパイラーのバージョンが0.5.0以下である場合があります。 現在バージョン0.5.12ですが0.5.0以降では大幅なアップデートがあり以前の記述方法では エラーをはいてしまいます。ここでは旧コンパイラからの変更点を最新版(2019.10現在)の ドキュメントを基に初心者の方向けに解説していきます。 ドキュメントurl https://solidity.readthedocs.io…
ブロックチェーン技術に関する技術書による理解を通じアウトプットに つなげられれば良いかと思います。多くの誤情報が含まれる可能性があります。 ぜひご指摘いただきたいです。 ここでは昨今注目を受けつつあるブロックチェーン技術について初学者の方へ わかりやすい解説をしていければと思っています。 またdappを開発中なのでその経過、及びつまづきやすいところの解説や solidityの解説を初心者向けにやさしく解説していきます。
「ブログリーダー」を活用して、soliditystgさんをフォローしませんか?