SaaSベンチャーで働くエンタープライズ部長のブログ

SaaSベンチャーでエンジニア→プロダクトマネージャー→エンタープライズ部長として働いています。

Ethereum

EthereumとPolygonでトークンのブリッジ方法について。チェーンの間で働くブリッジおじさん

前回のNFT記事ぶりにブロックチェーンネタです。EthereumとPolygonのブリッジについての話です。理論的な話というより、実務的にどう動いているのかを中心にまとめました。 ブリッジとは EthereumからPolygonへのブリッジ方法 Ethereum↔Polygonで公式ブリッ…

ethers.jsでENSの機能を使って名前解決をする

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でBIP39のニーモニックフレーズとBIP44準拠のHDWalletを使う

ethers.jsが最近人気とのことで使ってみます。ethers.jsはweb3.jsに近しい、node.jsでethereumを用いることができるライブラリです。みた感じ、web3.jsにはbip39のニーモニックフレーズ(文字列から秘密鍵を作成する機能)が見当たりませんでしたが、ethers.…

【書評】マスタリングイーサリアム(Mastering Ethereum)は、Ethereumで何ができるかが分かる良書

マスタリングイーサリアム SECURITIZEに買収が発表されたブロックチェーン・コンサルティング会社のBUIDLのVPであり、監訳者である宇野さんより、マスタリングイーサリアムをご恵贈いただきました。 頂いたので、僭越ながら書評を書かせていただこうと思いま…

ERC1820 Pseudo-introspection Registry Contractについて

EthereumのERC1820 Pseudo-introspection Registry Contract(擬似説明を行うレジストリコントラクト)について説明します。 このEIPはERC | Ethereum Improvement Proposals においてファイナライズされた提案であり、ERCとして正式登録されています。 ERC1…

ganache2.0のコントラクト管理機能を試す

GanacheはGUIでローカルにEthereumのブロックチェーンネットワークを生成できるツールです。 実行方法はとても簡単で、公式サイトからダウンロードして、クリックで起動するだけです。 ganache起動画面 Ganache2系が正式リリースされたのは2019年3月で結構前…

講談社サイエンティフィク様から「Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 」が発売されます

「Solidity Programming Essentials」という書籍を翻訳し、「Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 」というタイトルで、講談社サイエンティフィク様から9月7日に発売されます。私が監修し、松本さんと小池さんというエン…

Solidityの構造を可視化してくれるツールPiet

Solidityで書かれたスマートコントラクトを可視化してくれるツールが出てきました。 Pietというツールでとても使いやすく、役立ちそうだったので紹介します。 公式の紹介はこちらです。 blog.slock.it Pietの使い方 MCHのHeroトークンコントラクトを可視化し…

経理業務用にERC20トークンのICOや取引をノード無しでBigQueryで集計する

こんにちは。ERC20のICOや取引をまとめて簡単に集計する方法を話します。 実は、こちらの集計方法でとても困っていると、ある会社から私個人宛に相談を受けて、抽出手法をアドバイスさせていただいたのですが、デモまでしたらこれなら簡単に取れる!とのこと…

Constantinopleハードフォーク前後のEthereumデータを色々可視化してみる

EthereumのハードフォークであるConstantinopleがブロックナンバー7280000、日本時間の3月1日に行われました。ハードフォーク前後によって変わった事をデータから見てみる趣旨の記事です。 利用ツールは以下です。 Tableau Desktop 2018.3 Google BigQuery C…

EthereumのStateについて - Yellow Paper4章より

EthereumのStateについて、EthereumのYellow Paperとgo-ethereumのコードを参照しつつ書いた記事になります。 Ethereumはトランザクションによって更新される状態(state)を保持するマシン stateとはethereum世界における状態のこと world state acccount s…

Ethereumにおけるparityクライアントのstate保存オプションを検証する

RustベースのEthereumクライアントでparityが提供されています。 色々と便利な機能があり、stateを保存するオプション仕様を検証してみます。 stateとは stateを捨てるpruning 全てのブロックのstateを保持するpruning=archiveモード state保持期間を指定で…

EthereumのRLPエンコーディングについて-Yellow Paper AppendixBより

EthereumのYellowPaperを元に、Ethereum独自のRLPエンコーディングについて実験してみました。 RLPエンコーディングとは 5つのエンコードパターン バイト配列の場合 バイト配列でない場合 実験に用いたコード バイト配列をRLPエンコーディングする場合 1. バ…

Ethereumトークン標準「ERC1400 Security Token Standard」の提案

セキュリティトークンが盛り上がっていますが、今月「ERC-1400: Security Token Standard」としての提案がEthereum Improvement Proposal上で行われました。なお、この提案はFinalizeされていないため、ERCではなくEIP1400になります。 また、EIP1400は議論…

Ethereumのトランザクション(Message Call)について-Yellow Paper8章より

前回に続いて相変わらずEthereumのYellowPaperを読んで得た仕様をまとめます。 読んでいるYellowPaperのバージョンは「BYZANTIUM VERSION e94ebda - 2018-06-05」です。 今回は「8. Message Call」についてです。特に指定がない場合は、8章からの引用と考え…

EthereumのGasについて-Yellow Paper5章より

Ethereum Ethereum界隈はPlasma、Sharding、PoSと騒がしいですが、このタイミングで逆行してYellow Paperを精読しています笑 White Paperが概念とするなら、Yellow Paperは実装の仕様書に当たります。Ethereumでは相当細かく定義されており、詳細仕様書に近…

DEXを動かす〜Etherdeltaのコントラクトを実行する〜

前回、Etherdelta(DEX)のコントラクトをropstenネットワークにデプロイを試しました。 今回はデプロイ済のコントラクトのメソッドを呼び出して動かしてみます。 www.blockchainengineer.tokyo この記事では、 macOS High Sierra 10.13.4 node.js:v9.4.0 web3…

Ethereum上のKYCツール「uPort」を使って分散型ログイン機能を実装する

Blockchain EXE様とConsenSys様が共催のuPortを使うハッカソンにでるという事で、EthereumのKYCツールであるuPortを利用してみます。 uPortの仕組みはこちらのブログが詳しいです。 zoom-blc.com ざっくりいうと、ETHアドレスに名前や電話番号などの付帯情報…

DEXを動かす〜Etherdeltaのコントラクトをropstenネットワークにデプロイする〜

ERC20のトークンを交換できるDEXであるEtherdeltaについて、ropstenネットワークにデプロイして遊んでみます。 他のチェーンを触ることが多く、Ethereumからしばらく離れてしまっていたので手触り感を掴んでおく趣旨です。 この記事では、macOS High Sierra …

ERC20トークンの取引イベントログを抽出してネットワーク図を作成する

ERC20トークンは送金(transfer / transferFrom関数が呼ばれる)とevent Transferによってログが発行されます。ログは、Bloomフィルタという構造で格納され、ブロックチェーン自体には刻まれませんが、トランザクションを受け取った相手から受領するTransact…

セキュリティ分析ツールMythrilで、一部のERC20トークンで問題の関数を解析する

Mythrilとは Mythrilでチェックできるコントラクトの問題について batchTransferのオーバーフロー問題について batchTransferを解析してみる MythrilのDockerイメージ作成 問題のあったコントラクトを取得 コンテナを起動してMythrilを実行 分析結果を確認す…

「Ethereum Community Fund」創設発表イベントに行ってきました〜Ethereumエンジニアが必要とされそう〜

3月29日、「Ethereum Community Fund」創設発表イベントが東京で行われました。 Ethereum Community Fundとは、Ethereumのインフラ整備やDappsの普及のためのファンドとのことです。 イーサリアムを支援する6つのプロジェクト——Cosmos、OmiseGO、Golem、Make…

Blockchain EXE様に寄稿させていただきました:ERC721について

「日本発ブロックチェーンTechコミュニティ」であるBlockchain EXE様に寄稿させていただきました。 blockchainexe.com 内容はERC721の話になります。

Ethereumトークン規格のERC20,ERC223,ERC721について

Ethereum上で発行されるトークンには標準規格があります。 最も有名な規格はERC20で、Augur,OmiseGO,Qtumなど多くのトークンがEthereum上で発行されています。 ERCはEthereum Improvement Proposalで提案されて採決されます。 ERC20に続いて、現在ERC20を発…

Ethereumをざっくり解説してみる

本日、EthereumのハードフォークByzantiumが行われました。今のところ、大きなトラブルなども聞かず無事に終わったようです。これによってパフォーマンス向上やZcashの技術zk-Snarksが取り込まれるなど、大きな意義を持つアップデートになったと思われます。…

Ethereumの環境構築をDockerで行う(geth,parity)

この記事ではMac OS Sierra 10.12.4を使っています。 Ethereumの環境構築について、最近聞かれるのでまとめました。 現在、Ethereumの環境構築ではメジャーな方法が以下の2つあると考えています。 gethを利用する parityを利用する 今回は2つの方法ともま…

Ethereumで仮想通貨を発行する(2)

この記事ではMac OS Sierra 10.12.4を使っています。 前回はgethの環境構築まで実施しました。 Ethereumで仮想通貨を発行する(1) - 丸の内で働くブロックチェーンエンジニアのブログ 今回は仮想通貨コントラクトの発行を行います。

Ethereumで仮想通貨を発行する(1)

この記事ではMac OS Sierra 10.12.4を使っています Ethereumは、シンプルなコードで書かれた「コントラクト」を実行することで、様々なネットワークを生み出すことのできるブロックチェーンです。 コントラクトとしては「通貨を発行する」、「税金を払う」、…