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

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

ERC20のバグと誤報されたBatchOverFlowを体験してみる

先日セキュリティーアラートが上がり、多くの取引所が一時ERC20準拠トークンの取引を停止したという報道とともに話題になった、BatchOverFlowについて今更な感じですが自分なりにまとめてみます。

今回の問題についてはGunosy@yamarkzさんがいち早くまとめていましたので、そちらに詳細の説明は譲ります。
blockchain.gunosy.io

本ブログでは前々から使ってみたかったEthFiddle.comを使いこのバグを体験できる擬似コードと、またMythrilを用いての危険なコードの機械的な検証がどの程度有効なのかについてまとめてみたいと思います。

続きを読む

Plasma 勉強会1回目の参加レポ

最近特にホットな話題となっているPlasmaの勉強会が開かれるということで早速参加してきました!
plasma-research.connpass.com
今回はPlasma勉強会の第1回目のレポートをまとめたいと思います。

また、参加メンバーのリアルタイムツイートについてもtogetterにまとめてますのでライブ感はこちらで体感してくださいw
togetter.com

続きを読む

uPortでmyAppを作ってみた

Hi-Etherで少し話題に出ていたuPortを実際に触ってみました。
uPort Developer Portal

uPortの説明についての説明はこちらのブログが綺麗にまとまってますのでご参照ください。
zoom-blc.com

今回はuPort AppManagerを使ってUport Appを自作する手順についてまとめました。

続きを読む

lk-test-helpersの導入方法20180417版/truffleでimportを使う

github.com
をtruffle testで使うための導入方法20180417版です。

y-nakajo.hatenablog.com
こちらの以前の記事で紹介していた手順が最新のbabelでは使えなくなっていたので、最新版のbabelに対応した導入手順をまとめ直しました。

続きを読む

Hi-Ether Meetup - Block #2レポート

2018/04/13に開催されたHi-Ether Meetup - Block #2に参加してきましたのでそのレポート記事です。

会場はすごく綺麗なDMM.com様のイベントスペースでした。

東京タワーが綺麗で完全におのぼりさん状態で写真撮ったりしてましたw

また、今回から@kazush-mさんがLive配信と動画の撮影もされていますので、動画でもイベントの様子や各スピーチをご覧いただけます。みんなが自発的に行動しており、どんどん内容もパワーアップされていってて本当にすごいコミュニティーだなーと感じました。

続きを読む

python3.6.4の開発環境構築

なんだかんだでpythonで提供されているライブラリを使う頻度が多くなったので、とあるモジュールを作成するにあたり勉強がてらpythonで作成することにしました。

今回は開発環境を構築した時のメモを残しておきます。
自分用のメモなので雑にまとめてます。

  • IntelliJ ideaでプロジェクトを作成。python pluginはインストール済みだったので最初は~/.pyenv/いかにインストールしてるpythonSDKとして指定して作成
  • ちょろっと調べてみたところpythonではプロジェクトテンプレートとかproject manager tool的なものでメジャーなのはないようで、とりあえずここ(github kennethreitz/samplemod)のテンプレートを使うことにした。
  • virtualenv使いたいのでIntelliJ ideaのfile -> project structure -> Project SDK -> new からpython選択してvenvの名前でプロジェクト直下にvirtualenvの環境を作成
  • requirement.txtを見てpluginがlibraryのインストールを進めてきたのでインストール(venv作る前にやるとglobalのsite-packagesにインストールされてややこしいことになると思うので注意)
  • requirement.txtに最初から書かれてるlibraryは次の2つだった。
    • nose: unit testのためのライブラリ
    • sphinx: ドキュメント作成ためのライブラリ
  • コンソールから source venv/bin/activate でvirtual環境にスイッチ
  • コンソールでnosetestsを実行してunit testを走らせる
  • unit testの各ファイルが sampleをimportしてエラーになったので該当部分を変更した名前に修正
  • nosetestsが成功したらとりあえずのセットアップは終了

IntelliJ IDEA 2018-01でpython3のsyntaxを使う方法

  • default のままだとpython2 syntax鹿許可されてなくて type hintとかつけるとエラーになっちゃう
  • Preference->Console->Python Console->Use specified interpreterを変えればOK(なんでConsoleの設定なのか激しくなぞ)

pythonはパッケージ管理系あんまり成熟してないぽいのが意外だった。java -> rubyって触ってきたのでpackage managerがないとなんか落ち着かない。。。