アルゴリズムとかオーダーとか

仕事で勉強したことなどをまとめてます

2017-12-01から1ヶ月間の記事一覧

EthreumのContractを簡単に操作できるReact Component作りました。

前回の詐欺みたいな記事を詐欺じゃなくするべく、abiとaddressを入れるとRemixみたいにEthereumのContractを操作できるようになるReact Componentを作りましたー。前回と同じくデモページはこちら https://nakajo2011.github.io/react-ethereum-sample/

Reactがrenderの内容を更新してくれなくてハマった

Reactでアプリを生成している時に、とあるComponentが内部で参照しているObjectの状態を変更したけど、renderで表示されているものにはその変更が反映されなくて非常に困ったという内容です。

Solidityのassembly tips

Solidityでいろいろトリッキーなことを試す時にassemblyコードを書くのですが、毎回あれってどう書くんだっけ?ってなるので自分がよく使うassemblyコードをまとめておきます。

Revert opcodeの使い方

EthereumのByzantiumからrevert使うとエラーメッセージをよしなにできるらしいですよ?っていうのが内輪で話題になったので実際にどういう風に利用できるのかを調べてみました。byzantiumのリリースノートはこちら。 blog.ethereum.org

SolidityのDocumentを自動生成する

今回はSolidityで書いたContractのドキュメントを自動生成するツールの紹介とその使い方のまとめです。 実業務を考えるとやっぱり、作ったプログラムのAPIリファレンスは自動生成できるようにしておいたほうが何かと便利ですよね。今回利用したツールはこち…

ERC223Tokenを試してみた

とあるEthereumグループでちょっと話題になったERC223Tokenを実際に試してみました。 ERC223Tokenについてはこちらの方がわかりやすく説明されているので参照ください。 qiita.comERC223のリポジトリはこちら。 GitHub - Dexaran/ERC223-token-standard

Ethereumの情報を色々あれするReact Componentを作ってみた

タイトル詐欺です。すいません。実際にはEthereumのaccount addressとbalanceを取得するだけのコンポーネントです。reactの勉強がてら作ってみました。 こちらに公開してます。 https://nakajo2011.github.io/react-ethereum-sample/リポジトリはこちら gith…

parcelとbabelつかってReactしてみる

前回の記事 に早速コメントでparcelおすすめされたのと、最近社内でもparcel便利だよーっていう声を聞いたので早速webpackから乗り換えてみました。 まずはReactアプリを準備 まずはいつものhello worldなreactアプリを作ります。 ディレクトリ構造 react-sa…

reactアプリのためにdocker-composeでnginx+webpackでサーバ立てたけどwebpack-dev-serverで十分だった

ChromeにMetaMaskを入れると直接web3.js呼べるようになるらしいので、ReactでSPAでも作ってためしてみようかなーと思ったところ、httpでのアクセスじゃないとMetaMaskさんが起動してくれなかった。ということでhttpでReactアプリにアクセスするべくサーバを…

Ropstenにつなげた時の exceeds block gas limit エラー

意外に情報が少なくて、解決するのに時間かかったので自分用メモのつもりでブログに残しておきます。 Ropstenのガスリミットは4700000 Ropstenのガスリミットは4700000だそうです。truffle(に限らないのかな?)でgas limitを指定しなかった時のデフォルト…

direnv強い - npm installしたnode moduleのコマンドを楽に実行する

node.jsで実行可能なコマンドを持ったModuleをインストールする時はだいたいグローバルインストールを勧められます。 npm install -g truffleグローバルインストールすると普通にそのModuleのコマンドが叩けます。 truffle --versionでもなんでもかんでもグ…

Eventにつけるindexedの役割

ContractのEventの仕組み - アルゴリズムとかオーダーとかに引き続きContractのEvent関連のお話です。 Eventを定義する時にparameterにindexedというmodifierを付与する事ができます。今回はこのindexedの仕組みについてまとめてみました。

TruffleのtestでEventがWatchingできなくて困った

今回はContractのEventをテストする時の注意点や思いついたtipsなどをまとめました。 結局は非同期で動いていることを意識してなかったのが原因ではあるのですが、node動かしながら試してたことをそのままテストに書いてもうまくいかないといういい例の一つ…

ContractのEventの仕組み

Ethereum Advent Calendar 2017 の 7 日目の記事です。 ContractにEventを定義すると、Contractの状態が変更された時などに必要な人が通知を受け取れるようになります。 しかし、getter系のfunctionにはEventが設定できなかったりします。 今回はこのEventの…

OpenZeppelin(zeppelin-solidity)のtest/helpersを使う方法

更新 この記事の内容は古いため、20180417現在では使えません。最新での導入方法についてはこちらにまとめています。 y-nakajo.hatenablog.com OpenZeppelin(zeppelin-solidity)はEthereumのContract作るなら使わないと損だよ!ってぐらい便利なContractのラ…