活用のブロックチェーン〜Trust と KyberNetwork で見る Web3.0 の可能性〜 に参加した

cryptocrazies.connpass.com

参加の目的

8 月に参加するハッカソンに向けて Solidity 強化月間と銘打っており
Web3.0 を支えるスマートコントラクト等の技術を理解した後に
どのような世界が作れるのか具体的にイメージして
他の方々がどのように考えているか, キャッチアップしたいと思い参加した.

イントロダクション LT by Steemit Japan Ambassador Sho T @showying_art

speakerdeck.com

  • なぜこの会をやるか?

    • Web 3.0 に可能性を感じている
    • DApps 発散フェーズが来る
    • そうなったときに Truct や KeyberNetwork がさまざまな課題を解決するだろう
  • Steemit を使って価値のルールは作れると感じた

  • どのような切り口で考えると面白くなるか?

    • 行動がトークンに変わる
  • 近々なにが起こるのか?何が課題になるのか?

    • Lawyer 2 の Plasma 等が現実のものになっていくと, DApss が増えまくる
      • DApss ごとのトークンが増える
      • ゴミトークンが増える
  • UX の課題を解決するのが Truct

  • 流動性の課題を解決するのが KeyberNetwork

    • DApps 発散フェーズを支える基盤の視点で考える

Web3.0 の入口となる Trust Wallet について by Trust Wallet Japan Ambassador マキオ @makionaire

speakerdeck.com

  • ブログ: https://makionaire.com/

  • ウォレットはブロックチェーンの入口

  • Trust Wallet

    • Android は OSS としてコードが出てるのは途中まで.
    • Founder: Viktor Radchenko
    • オフィスはスタバ
  • 一番特徴的なのはトークンの画像を自分で作って, コミットするとアプリ内に表示されるようになる

  • Push 通知は中央集権的

    • ウォレットのアドレスと端末の ID が紐付いている
  • KeyberSwap を使うと, 取引所を介さずとも Ether を KBN に変換したりできる

  • Trust SDK

    • DApps のウォレットの実装, 秘密鍵の保持などを Trust に任せることができる
  • Eth2Phone

    • 電話番号だけで Ehter を送ることができる
  • Trust Platform

    • 法律的な壁によって計画は中止
    • もろもろ整ったあとに再始動あるかも?

Web3.0 における KeyberNetwork の役割 by Kyber Network エバンジェリスト hory @Hory_BTV

docs.google.com

  • KeyberNetwork って DEX でしょ?

    • 違うんです。
    • 最初は DEX として認知されていたが, 現在はそうではない
  • なぜ必要?

    • 分断されるエコシステム
  • どうやって解決する?

    • だれでも活用できるトークン交換をエコシステムに提供する
  • 何を創っている?

    • 分散型流動性ネットワーク
    • オープンリザーブアーキテクチャ
    • オンチェーンで、すべてのスマートコントラクトを連携できるように
  • web3.0 って何がいいの?

    • 見える部分と見えない部分を意識する必要がある

      • ビットコインが広まったのはリバタリンの人たちが熱狂的に広めたのが大きかった
      • 経済学者バスティア
      • リバリアニズムが好きな経済学者
        • 良い経済学者は見えないものを見ている
        • 悪い経済学者は見えるものしか見ていない
  • Web3.0 の悪いところばっかり見える

  • Web2.0 の良いところばっかり見える

  • Web3.0 の見えないメリット, Web2.0 の見えないデメリットを考えて/探して/発信していかなければメインストリームの人たちは使ってもらえない.

Q&A

Q.KeyberNetwork の交換できるトークンの基準は?

A.サポートしたトークンだけ.
1つリスティングするごとに, 丁寧にブログを書いたりするから遅い.
今後は承認なしに扱えるようになる計画がある(議論中)

Q.リザーブプールの価格はどう決まるか?

A.Binance など価格が安定しているところから, 価格を取得して中央値を決める.
その中央値を基準にリザーブマネージャーがスプレッドと価格を決める.
一番安いリザーブが取引の対象となるので, 高いと使ってもらない.
リザーブ量を超える 100 Ether とかが来た場合は交換はできない.

所感

  • 基本スタンスとして、この部分は中央集権的ですよということを理解した上で使うことが重要そう
  • トークンとはコミュニティ・エコシステムへの行動・貢献を可視化したものというのが腑に落ちた
  • SBD で支払える美容院に行ってみたい

Mac に Homebrew で任意のバージョンの PostgreSQL をインストールする

数年前にやったときはソースから入れて苦戦した記憶があるので, 最新の簡単な方法をメモ.

Homebrew Formulae からインストールしたいバージョンを選択

formulae.brew.sh

brew でインストール

$ brew update && brew install postgresql@9.5

現行版(10.4)の場合は brew install postgresql でok

起動

$ brew services start postgresql@9.5

psql コマンドにエイリアスを設定

$ alias psql='/usr/local/opt/postgresql@9.5/bin/psql'

バージョン確認して完了

$ psql --version
psql (PostgreSQL) 9.5.13

GitHub で fork 元リポジトリの Pull Request をローカルで確認する方法

目的

fork したリポジトリで開発中に, fork 元リポジトリに誰かが PR を出してくれて
そのコードをローカルで確認したい.

手順

fork したリポジトリを clone

$ git clone git://github.com/forked_rep

fork 元リポジトリをリモートに追加

$ git remote add upstream git://github.com/origin_repo

fork 元のリポジトリを fetch

$ git fetch upstream pull/pull_request_number/head:pull_request_branch_name

ブランチに切り替え

$ git checkout pull_request_branch_name

まとめ

$ git clone git://github.com/forked_repo
$ git remote add upstream git://github.com/origin_repo
$ git fetch upstream pull/pull_request_number/head:pull_request_branch_name
$ git checkout pull_request_branch_name

Etheremon Meetup #2 に参加した

ブロックチェーンゲーム Etheremon のミートアップに参加したメモと感想をまとめておこうと思う.

connpass.com

オープニング

主催: Blockman
暗号通貨なkimさん: https://twitter.com/kimnao3333 の挨拶

ゲストによるトーク

はるか先生は初顔出しだったとのこと!

現在のイーサエモンについて

できること by ダプマさん

  • レベル上げ
  • バトルして勝ったらトークンがもらえる

現状は上記 2 つだが今後の発展も含めて期待している.

dApps としての立ち位置 by ダプマさん

dApps で 2,3 位(多少の変動はある

  1. CryptoKitties
  2. AXIE infinity
  3. Etheremon

アクティブユーザー(200~300 人ぐらい
-> 現状大きくプロモーションが打ててない
-> 遊べるコンテンツが少ない
-> コンテンツが確立したらユーザを増やしに行くのでは?

最近の動向 by ダプマさん

アドベンチャーモードのプレセールが行われた

ゲーム内の土地を手に入れることができる.
プレセールで 200~300ETH ぐらい集まった.
ユーザが遊ぶごとに配当(トークン)がもらえる.

※記事にない不明な点があれば, ダプマさんに twitter で連絡すればすぐ記事にしてくれる(!)

最近の動向 by はるか先生

アクシー、イーサタウンといった次の dApps が出てきているので, プラットフォームとして展開していかないと
あとから出てくる dApps に抜かれてしまうので動向が気になる.

  • 今日(2018/07/04)のメンテでオフチェーンモードの実装が入って快適になった
  • 今後は Zilliqa に対応していく

今後の期待していることろ by ダプマさん

  • バトルはオフチェーン, 経験値の受け取りがオンチェーンに記録するという実装になっている(はず)
  • VR モード対応
    -> Decentraland のとの連携がうまくいけば、ユーザを引き込める
    -> バトルシーンを VR で見ることができるようになる -> 進捗としては, Discord の開発チャネルでデモが出ている程度

今後の期待していることろ by はるか先生

  • ゲーム性の向上
  • 資産性の向上
  • 日本製の dApps ゲームがもっと出てきて欲しい
    -> ERC721 を使った資産性をもたせたゲームを作って欲しい
    -> crypton 豚を育てるゲームがある

開発チームによるトーク by Marketing Director of Etheremon

今までのゲームの問題点

Blockchain でどう解決するか?

なぜユーザーがプレイするのか?

  1. レベルがあがるとモンスターの価値が上がる
  2. EMONT トークンがもらえる
  3. アドベンチャーモードの土地を所有することで、プレイヤーがプレイすることに手数料がもらえる

アドベンチャーモード

プレセールで 300ETH 調達した.
7 月実装予定だったがオフチェーン対応等で遅れていて, 8 月にはリリースできる予定.

スケーラビリティ問題対策

medium.com

Q&A

Q. 新しく実装されるアドベンチャーモードでの土地の利回りは?

土地で利益を得るのは手数料と売却する方法がある.
土地に入るための手数料は全額所有者に入る.
手数料の金額は所有者が自由に決められる(が, 極端に偏る場合は何らかの方法で均衡化されるとのこと)
上記に売却も加味すると 20~40 倍ぐらいのリターンを見込めるのではないか.

Q. 土地の数と販売数は?

全部で 108 あって, プレセールでは半分の 54 を売った.
残りは今後のイベント等での販売/配布を検討中. 54 の土地を 10 分割して 540 を販売した.
1 つ約 6ETH なので 10 で割って, 1 つあたりの購入額は 0.6 ETH ぐらい. 10 分割に順位/優先度などはない.

Q. どこの国のユーザが多い?

日本人が一番多い.
トランザクションは国別の判定ができないので Google Analytics ベースの計測.

ERC 721 トークン

  • アイテム
  • モンスター
  • アドベンチャーモードの土地
  • 土地に入るための手数呂う - モンスターを置くための手数料

所感

  • Blockchain で今までのゲームの課題を解決していく話は, Blockchain の活用方法としていいなと思った.
  • dApps ゲームの中の人の話を聞けると安心感がある(Aethia 運営から音沙汰がない.
  • Etheremon Tシャツもらった.

AWS WorkMail を使って SMTP でメール送信する時の注意点

背景

独自ドメインの割り当て, メールアドレス認証などが設定済の WorkMail を AWS サービス以外のメールクライントからもメールの送信に使いたいと思った.

設定

安定のクラスメソッドさんの記事を元にやっていけばほぼ問題ない.

dev.classmethod.jp

注意点

リージョンに沿ったホスト指定

WorkMail は、現在3つのリージョンで提供されているため
us-west-1, us-west-2, us-east-1 から WorkMail を使用しているリージョン用のホストを選択する必要がある.

docs.aws.amazon.com

Secure connection が必須

WorkMail の SMTP は Secure connection: Required なため
クライントの設定で SMTPS を有効にする
or
ホストに ssl://smtp.mail.us-east-1.awsapps.com と明示的に指定する必要がある.

非同期処理で行う

新規登録などユーザの動作をトリガーとしてメールを送る場合に
SMTP での送信処理は体感で, 500ms~2000msぐらい(場合によってはもっと)かかるので
同期処理だとユーザに待ち時間が発生してしまうため, SQS などを使って非同期で処理する.