mining/geth/開発環境
今日は基本的にはtestnet上でのgethの調整をしていた。
反省点
- 開発始める前の時点で明確な完成像がぼやけていた気もする。
- kpiが以前に比べて不明確。
- 目標設定の具体化と定期的な振り返りのタイミングを明確化した方が良いなと感じた。kgi/kpi/kdi/todoとpdcaを複数年、年次、四半期、月次、週次、日毎に見返すために大枠をしっかりと形作り直した方が良い気もした。
- わかっていると思っているようなことでも、いざコードレベルで分析をしたり、実際に実装をしてみると理解のぼやけてるポイントがわかってきたりする。関連している事柄の何が重要な意味を持っているのかもわかるようになる。
geth
今日はgethを結構触っていた。deploy時のgas不足を多く指摘されていた。また、miningの同期がしっくりいくときといかない時があるので、その部分の解像度をあげる努力をした方が良いなとも感じた。
見るところ
- gas不足
- security
- 一つ一つのwordの意味
- go-etherのレポジトリとsled
parity
parityに関してはerrorが出るのはいつも同じところで
このparity signer:pending
というところ。parityもpolkadotへの事も考えて深く調べていきたい。また、チェーンの同期自体はこちらの方が早いので、gethやinfuraとの特性も深掘りしつつ、それぞれを実装している中で使い分けていきたい。
vyper
vyperに関しては、まだ発展途上な感は否めないが、一応コントラクトの実装例などもあるのでpythonベースという事で触っていきたい。
全体の開発
- nodeの同期のことも考えてクラウド(aws)などでチェーン同期することを検討したい。プライベート、テストネットくらいなら良いが、メインネットくらいになってくると結構きつい
- コンテナ化するかとか、macos、linux上で開発するかなど考える。gaeベースでインフラを構築しつつ、web部分はpython(django)かruby(rails)でサーバーサイドで作って、データもs3とかで持たせておく?gcsとかでも良いかも。また、コンテナ化することを考えてdockerfileでまとめておくか、vagrantでbox単位で管理するか、gkeで全てgcp上で管理するかなども考えても良いかもしれない。
- contractの発行や検証に関しては、vimやatomのようなeditorよりもremixの方が良いので、細かい作業はbrowser-solidityでやる。そのため接続手順を復習。
- コードを多めにかく場合はatomやvimでかく。
- 全体のアーキテクチャーテンプレート(基本形)は自分の中で作っておく。