Ethereum
前回のNFT記事ぶりにブロックチェーンネタです。EthereumとPolygonのブリッジについての話です。理論的な話というより、実務的にどう動いているのかを中心にまとめました。 ブリッジとは EthereumからPolygonへのブリッジ方法 Ethereum↔Polygonで公式ブリッ…
ENS 前回のethers.jsでBIP39のニーモニックフレーズとBIP44準拠のHDWalletを使うに続き、今回はENS(Ethereum Name Service)の機能を使ってみます。 バージョン node.js v10.16.3 npm 6.10.3 ethers.js 4.0.45 ethers.jsとは(再掲) 公式のFeaturesには以下…
ethers.jsが最近人気とのことで使ってみます。ethers.jsはweb3.jsに近しい、node.jsでethereumを用いることができるライブラリです。みた感じ、web3.jsにはbip39のニーモニックフレーズ(文字列から秘密鍵を作成する機能)が見当たりませんでしたが、ethers.…
マスタリングイーサリアム SECURITIZEに買収が発表されたブロックチェーン・コンサルティング会社のBUIDLのVPであり、監訳者である宇野さんより、マスタリングイーサリアムをご恵贈いただきました。 頂いたので、僭越ながら書評を書かせていただこうと思いま…
EthereumのERC1820 Pseudo-introspection Registry Contract(擬似説明を行うレジストリコントラクト)について説明します。 このEIPはERC | Ethereum Improvement Proposals においてファイナライズされた提案であり、ERCとして正式登録されています。 ERC1…
GanacheはGUIでローカルにEthereumのブロックチェーンネットワークを生成できるツールです。 実行方法はとても簡単で、公式サイトからダウンロードして、クリックで起動するだけです。 ganache起動画面 Ganache2系が正式リリースされたのは2019年3月で結構前…
「Solidity Programming Essentials」という書籍を翻訳し、「Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 」というタイトルで、講談社サイエンティフィク様から9月7日に発売されます。私が監修し、松本さんと小池さんというエン…
Solidityで書かれたスマートコントラクトを可視化してくれるツールが出てきました。 Pietというツールでとても使いやすく、役立ちそうだったので紹介します。 公式の紹介はこちらです。 blog.slock.it Pietの使い方 MCHのHeroトークンコントラクトを可視化し…
こんにちは。ERC20のICOや取引をまとめて簡単に集計する方法を話します。 実は、こちらの集計方法でとても困っていると、ある会社から私個人宛に相談を受けて、抽出手法をアドバイスさせていただいたのですが、デモまでしたらこれなら簡単に取れる!とのこと…
EthereumのハードフォークであるConstantinopleがブロックナンバー7280000、日本時間の3月1日に行われました。ハードフォーク前後によって変わった事をデータから見てみる趣旨の記事です。 利用ツールは以下です。 Tableau Desktop 2018.3 Google BigQuery C…
EthereumのStateについて、EthereumのYellow Paperとgo-ethereumのコードを参照しつつ書いた記事になります。 Ethereumはトランザクションによって更新される状態(state)を保持するマシン stateとはethereum世界における状態のこと world state acccount s…
RustベースのEthereumクライアントでparityが提供されています。 色々と便利な機能があり、stateを保存するオプション仕様を検証してみます。 stateとは stateを捨てるpruning 全てのブロックのstateを保持するpruning=archiveモード state保持期間を指定で…
EthereumのYellowPaperを元に、Ethereum独自のRLPエンコーディングについて実験してみました。 RLPエンコーディングとは 5つのエンコードパターン バイト配列の場合 バイト配列でない場合 実験に用いたコード バイト配列をRLPエンコーディングする場合 1. バ…
セキュリティトークンが盛り上がっていますが、今月「ERC-1400: Security Token Standard」としての提案がEthereum Improvement Proposal上で行われました。なお、この提案はFinalizeされていないため、ERCではなくEIP1400になります。 また、EIP1400は議論…
前回に続いて相変わらずEthereumのYellowPaperを読んで得た仕様をまとめます。 読んでいるYellowPaperのバージョンは「BYZANTIUM VERSION e94ebda - 2018-06-05」です。 今回は「8. Message Call」についてです。特に指定がない場合は、8章からの引用と考え…
Ethereum Ethereum界隈はPlasma、Sharding、PoSと騒がしいですが、このタイミングで逆行してYellow Paperを精読しています笑 White Paperが概念とするなら、Yellow Paperは実装の仕様書に当たります。Ethereumでは相当細かく定義されており、詳細仕様書に近…
前回、Etherdelta(DEX)のコントラクトをropstenネットワークにデプロイを試しました。 今回はデプロイ済のコントラクトのメソッドを呼び出して動かしてみます。 www.blockchainengineer.tokyo この記事では、 macOS High Sierra 10.13.4 node.js:v9.4.0 web3…
Blockchain EXE様とConsenSys様が共催のuPortを使うハッカソンにでるという事で、EthereumのKYCツールであるuPortを利用してみます。 uPortの仕組みはこちらのブログが詳しいです。 zoom-blc.com ざっくりいうと、ETHアドレスに名前や電話番号などの付帯情報…
ERC20のトークンを交換できるDEXであるEtherdeltaについて、ropstenネットワークにデプロイして遊んでみます。 他のチェーンを触ることが多く、Ethereumからしばらく離れてしまっていたので手触り感を掴んでおく趣旨です。 この記事では、macOS High Sierra …
ERC20トークンは送金(transfer / transferFrom関数が呼ばれる)とevent Transferによってログが発行されます。ログは、Bloomフィルタという構造で格納され、ブロックチェーン自体には刻まれませんが、トランザクションを受け取った相手から受領するTransact…
Mythrilとは Mythrilでチェックできるコントラクトの問題について batchTransferのオーバーフロー問題について batchTransferを解析してみる MythrilのDockerイメージ作成 問題のあったコントラクトを取得 コンテナを起動してMythrilを実行 分析結果を確認す…
3月29日、「Ethereum Community Fund」創設発表イベントが東京で行われました。 Ethereum Community Fundとは、Ethereumのインフラ整備やDappsの普及のためのファンドとのことです。 イーサリアムを支援する6つのプロジェクト——Cosmos、OmiseGO、Golem、Make…
「日本発ブロックチェーンTechコミュニティ」であるBlockchain EXE様に寄稿させていただきました。 blockchainexe.com 内容はERC721の話になります。
Ethereum上で発行されるトークンには標準規格があります。 最も有名な規格はERC20で、Augur,OmiseGO,Qtumなど多くのトークンがEthereum上で発行されています。 ERCはEthereum Improvement Proposalで提案されて採決されます。 ERC20に続いて、現在ERC20を発…
本日、EthereumのハードフォークByzantiumが行われました。今のところ、大きなトラブルなども聞かず無事に終わったようです。これによってパフォーマンス向上やZcashの技術zk-Snarksが取り込まれるなど、大きな意義を持つアップデートになったと思われます。…
この記事ではMac OS Sierra 10.12.4を使っています。 Ethereumの環境構築について、最近聞かれるのでまとめました。 現在、Ethereumの環境構築ではメジャーな方法が以下の2つあると考えています。 gethを利用する parityを利用する 今回は2つの方法ともま…
この記事ではMac OS Sierra 10.12.4を使っています。 前回はgethの環境構築まで実施しました。 Ethereumで仮想通貨を発行する(1) - 丸の内で働くブロックチェーンエンジニアのブログ 今回は仮想通貨コントラクトの発行を行います。
この記事ではMac OS Sierra 10.12.4を使っています Ethereumは、シンプルなコードで書かれた「コントラクト」を実行することで、様々なネットワークを生み出すことのできるブロックチェーンです。 コントラクトとしては「通貨を発行する」、「税金を払う」、…