未完です。すみません。すみません。
やりたいこと
- スマートコントラクトを実行したい
- 実行者(機械、プログラム)自身がウォレットを持たずに。
- 選んだユースケース
- amazon echo から音声指示
- コントラクトアドレスで寄付を受け付けるALICEに寄付する
実装方針
- 基本機能は、lambdaで
- OAuthのAPIと送金指示のAPIを持つウォレットを外部に用意
- bitgoを利用
- アレクサスキルを触ってみる
- アカウントリンク機能
- lambdaとの連携
他案
- lambda上にウォレット(鍵)を持つ必要があるかもしれない
- ウォレットやライブラリの選定
- MyEthWallet
- APIが貧相
- blockoneID
- OAuthない
- MyEthWallet
このくらいを想定して手をつけ始めました。
alexaの情報収集
-
https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill
- だいたいこれで用が足りる
- 必要なこと
- amazon 開発者コンソールで、アレクサスキルの開発
- AWS console でlambda の開発
- s3との連携
- lanbda の関数コードは、bitgo, alexa-sdkでだいぶん大きくなるので、zipにしてs3からlambdaへ
- 注意
- 第5回のアカウントリンク機能のテストにおいて、説明が飛んでいるが、iphoneなどのalexaアプリに、アレクサスキルの開発を行っているアカウントでログインすると
- 有効なスキルにDEVスキルというタブがあるので、そこで公開していないスキルもアクセスできる
- ここでアカウントリンク(OAuth)の動作及びテストを行える
- サービスシミュレータはアカウントリンク機能には未対応
bitgoの情報収集
-
https://www.bitgo.com/api/v2/
- API v2
- eth扱える
- 日本語訳コミットしたい
-
https://bitgo.github.io/bitgo-docs/
- API v1
- OAuthはv1を踏襲している
- 日本語もある
- テスト環境
- https://test.bitgo.com/login
- テスト環境では、webインターフェースでethが扱える(TETH表記)
- ethereumのネットワークは、kovan-testnet
- Ethの扱い
- ethereumはウォレット作成からfeeが必要なので、アカウントにダイレクトにひもづくEnterprise(組織、くらいの意味)の設定をし、残高を持つ必要がある
- 注意
- kovan-testnetでのethの取得
- https://github.com/kovan-testnet/faucet
- Icarus Faucet
- parityをインストールし、productionでアカウント認証をすると、testnetのethをもらえる
- が、ここが大変
- parityのインストールからproduction との同期→半日以上かかる
- productionでのアカウント認証に、リアルなEthが必要
- ハマるので避けるが吉
- Gitter Channel
- こちらにbotがいるので、アドレスを発言するとethをくれる。
- OAuthのclient_idの取得
- ここで止まっている。webインターフェースにOAuth設定の項目がありそうなものだが、見当たらない。
- 問い合わせ回答待ち
- kovan-testnetでのethの取得