プログラム上達したいな blog

プログラム書けるようになりたいアウトプット用

firebaseを触ってみる

herokuばっか触ってると

違うのないんかなーと

ふと思って

探してると

見つけました

 

Sign in - Google Accounts

 

firebaseというものが

ありまして

すごいらしい

firebase.google.com

 

 

 

早速使ってみたい

ってなったので

 

qiita.com

 

こちらを参考に

作っていきます

 

 

アプリの認証

「WebアプリにFirebaseを追加」を選択
すると以下のようなjavascriptスニペットを得るので、
「コピー」ボタンを押して、index.htmlTODOのところに貼り付ける

 

index.html の TODOって

どこ?

 

f:id:gjjjjcdssvgg:20180802221939p:plain

 

 

とりあえず

ここに入れてみた

 

 

f:id:gjjjjcdssvgg:20180802222300p:plain

f:id:gjjjjcdssvgg:20180802222316p:plain

f:id:gjjjjcdssvgg:20180802222341p:plain

 

111~123が加えたところ

 

 

Firebaseのコンソールで
Auth > 「ログイン方法を設定」>Goole >「有効にする」をスライドする>「保存」

をクリック

 

 

Authって何?

 

 

f:id:gjjjjcdssvgg:20180802223140p:plain

 

f:id:gjjjjcdssvgg:20180802223158p:plain

 

Auth = Authenticationかな?

 

続けます

 

 

f:id:gjjjjcdssvgg:20180802223642p:plain

 

こんな感じ?

 

 

5 Firebaseコマンドラインのインストール(残り51分)

Firebase Command Line Interface (CLI) はローカルで作っているアプリをFirebaseのホスティングサービスにUpするために必要
まずFirebaseのコンソールでHostingを選択

 

f:id:gjjjjcdssvgg:20180802223949p:plain

 

Hostingはここ

 

 

f:id:gjjjjcdssvgg:20180802224056p:plain

 

 

使ってみる

 

数秒

 

 

f:id:gjjjjcdssvgg:20180802224325p:plain

 

f:id:gjjjjcdssvgg:20180802224407p:plain

 

 

確かに

 

数秒

 

 

f:id:gjjjjcdssvgg:20180802224616p:plain

 

f:id:gjjjjcdssvgg:20180802224632p:plain

 

 

許可したら

 

Woohoo!

 

 

f:id:gjjjjcdssvgg:20180802224803p:plain

 

 

燃えてる

 

 

f:id:gjjjjcdssvgg:20180802225442p:plain

 

firebase initすると

結構質問をしてくる

 

 

  • hostingなんとかを選択
  • create a new projectを選択
  • 後はEnterキー

 

 

f:id:gjjjjcdssvgg:20180802230007p:plain

 

 

error出たんで

firebase use --add

をしておいた

 

 

f:id:gjjjjcdssvgg:20180802230203p:plain

 

 

deploy完了

 

 

firebase server すると

f:id:gjjjjcdssvgg:20180802230811p:plain

 

 

がっつり

 

しかし、

node.jsのバージョンが

よくないっぽいんで

変更

 

f:id:gjjjjcdssvgg:20180802231227p:plain

 

 

qiita.com

 

 

f:id:gjjjjcdssvgg:20180802231252p:plain

 

 

 

f:id:gjjjjcdssvgg:20180803001646p:plain

 

sampleにアップロードできました

 

 

f:id:gjjjjcdssvgg:20180803001813p:plain

 

firebase.json

publicがあると?

 

 

f:id:gjjjjcdssvgg:20180803002102p:plain

 

publicフォルダの

index.htmlが

firebaseに

アップロードされることに

なる

 

 

web-startフォルダに

もともとindex.htmlが

あったんですが

全然呼び出して

くれなかったんで

web-startフォルダの

index.htmlを

publicに移動しました

 

じゃあ、うまいこと

いきました

 

 

7 ユーザーのサインイン機能(残り48分)

 Firebaseの認証の初期化

scripts/main.jsFriendlyChat.prototype.initFirebase関数のところを修正する必要がある

FriendlyChat.prototype.initFirebase = function() {
  // Shortcuts to Firebase SDK features.
  this.auth = firebase.auth();
  this.database = firebase.database();
  this.storage = firebase.storage();
  // Initiates Firebase auth and listen to auth state changes.
  this.auth.onAuthStateChanged(this.onAuthStateChanged.bind(this));
};

 GoogleによるFirebaseの認証

main.jsのscripts/main.jsFriendlyChat.prototype.signIn関数のとこも

// Signs-in Friendly Chat.
FriendlyChat.prototype.signIn = function() {
  // Sign in Firebase using popup auth and Google as the identity provider.
  var provider = new firebase.auth.GoogleAuthProvider();
  this.auth.signInWithPopup(provider);
};

FriendlyChat.prototype.signOut

    // Sign out of Fire

(以下、省略) 

。。。。。。。。。

。。。。。。。。。

 

 

 

どこに関数があるのだろう...

 

 

割とここでギブ

 

 

おわりに

 

無理どす

 

 

 

 

追記

 

なんとかいけました

 

Firebase Web Codelab

 

これ通りに進めると

いけた

 

 

後は

f:id:gjjjjcdssvgg:20180803021938p:plain

 

Databaseのルールを

このように変更しないと

チャットが

更新できなかった

 

 

最悪、web-startと同じところに

webという答えがあるので

それをみながら

進めると

いけるかもしれない

 

f:id:gjjjjcdssvgg:20180803022154p:plain

 

 

 

 

完成品

 

sample-fc1e1.firebaseapp.com

 

 

 

 

 

 

 

 

またdappsをherokuへアップしてみた

 

 

 

 

 

TutorialToken - Wallet

 

 

これは何をしてるか

わからんぬ

 

 

 

わからん

 

 

ただ、herokuへの

アップはできるように

なったかなー

 

bs-config.js 大事

 

 

 

 

おわりに

 

眠い

 

solidityをhtmlに

どう反映してるかが

わからん

Error encountered, bailing ropsten networkの場合の対処法

Error encountered, bailing. Network state unknown. Review successful transactions manually.

insufficient funds for gas * price + value

 

のエラー出た時

 

truffle.js

 

f:id:gjjjjcdssvgg:20180802173747p:plain

 

gas:4700000,
gasPrice: 65000000000,

 

gas,

gasPriceを

指定すると

なんとかなるかも

 

 

参考

 

github.com

 

 

 

おわりに

 

吉川が怪我...

 

調子良かっただけに

痛すぎる...

 

 

 

 

 

 

 

dapps (ほぼpet-shop-tutorial)をHerokuへアップロードした

 

 

 

 

 

 

 

 

 

 

 

日ハムブロックチェーン ropstenのみ対応

 

これです

ほぼこれです

zoom-blc.com

 

 

かなりの時間を要しましたw

ずっとこんな感じ

 

f:id:gjjjjcdssvgg:20180802025037p:plain

 

 

ひたすら

git add .

git commit -m "add config for heroku"

git push heroku master

 

をしてました

 

 

なんか失敗しすぎて

なぜherokuに

アップロードできたか

あんまりわかってません

明日、他のdappsでも

試してみたいと

思います

 

 

1つ言えること

 

pet-shop-tutorialの

場合だけかも

してませんが

f:id:gjjjjcdssvgg:20180802030140p:plain

 

bs-config.jsファイルを

追加すべきです

 

bs-config.jsの中身

module.exports = {
 port: process.env.PORT,
 files: ['.src/**/*.{html,htm,css,js}'],
 server:{
 baseDir: ["./src", "./build/contracts"]
}
};

 

 

 

参考

 

ethereum.stackexchange.com

 

github.com

 

 

 

おわりに

 

今日は諦めなかった

 

npm install truffle-hdwallet-providerする時、node.jsはv8.0.0が一番うまくいく気がする

 

バージョン変更

qiita.com

 

node -v

した時

v10.*.*

の場合

結構エラー出ます

 

 

v8.0.0は

エラー出ないかも