はじめての Chrome Apps with AngularJS

はじめに Google Developers Meetup #2に参加して、Chrome Apps楽しそう! 作ってみたい! と思って作ってみました。 Chrome Appsとは みんなの知らない Chrome Apps の世界 当日発表されたYoichiro Tanakaさんのスライドがとても分かりやすいです。いつも使っ…

Google App Scriptを使ってBigQueryからサービス利用状況を取得してSlackに通知する

はじめに Google App Script(GAS)を使ってBigQueryからサービス利用状況を取得してSlackに通知するメモです。 ゴール Slackにこんな感じで毎日1回通知するのが今日のゴールです。 スクリプト Google Driveから 新規 > その他 > Google App Script を選択して…

Google BigQueryのカスタムクォータ機能を使ってみた

はじめに BigQueryに1日の利用制限が設定できるようになったので試してみました。 BigQueryの失敗談 BigQueryで150万円溶かした人の顔 この記事を読んで不安になっていて、金額を制限できたらいいなって思ってました。(うちだと150万は致命傷なので...) カ…

APIドキュメント生成ツール「Slate」をDockerインストールする

はじめに APIドキュメントを公開するために、ドキュメント生成ツール「Slate」を使ってみたので共有します。 APIドキュメント生成ツール「Slate」 Slateサンプルページ よくあるAPIドキュメントのレイアウトですよね。Slateを使うとMarkdownで簡単にAPIドキ…

Reality Keysと連携するiOSアプリをつくる 第6回 次世代Mobile DB "Realm"

はじめに Realm Tech Talk with JP Simard #1に参加して、予想以上に使いやすそうだったので、ByMyCoinアプリ版のローカルDBにはRealmを利用することにします。 目次 次世代Mobile DB "Realm"とは 実装 次世代Mobile DB "Realm"とは Realmは、SQLiteやCore D…

Reality Keysと連携するiOSアプリをつくる 第5回 claim(出金)

はじめに 今回は一連の最後の処理「claim(出金)」をやります。 目次 By My Coin Web版はどうしているか iOS版はどう実装するか unspentトランザクション取得 Winnerのprivateキー取得 iOSでの実装 結果確認 By My Coin Web版はどうしているか 以前この記事で…

Reality Keysと連携するiOSアプリをつくる 第4回 P2SHアドレス

はじめに これまでに取得したキーを使ってP2SHアドレスを作ります。 目次 By My Coin Web版はどうしているか iOSでどう実装するか JSのデバッグ方法 P2SHアドレス作成のための4つのキー P2SHアドレス作成 By My Coin Web版はどうしているか Reality Keysを使…

Reality Keys勉強会

はじめに Reality Keys勉強会で話をさせて頂く機会を頂きました(光栄!) 目次 何を話すか プレゼン資料 Googleハングアウトの動画 何を話すか 前半Edが話して、後半私が話す流れにすることが決まり。私は「Reality Keys APIと連携アプリケーション開発」につ…

Reality Keysと連携するiOSアプリをつくる 第3回 契約セットアップ

はじめに 前回、契約のセットアップに必要なRunKeeperのユーザーIDを取得しました。今回はそれを使って契約セットアップAPIを実行します。 目次 契約セットアップAPI実行 契約セットアップAPI実行 契約セットアップAPIの仕様については過去記事をみてくださ…

Reality Keysと連携するiOSアプリをつくる 第2回 RunKeeper連携

はじめに 今回は契約のセットアップに必要なRunKeeperのユーザーIDを取得します。契約のセットアップについての詳細は過去記事をみてください。 Reality Keysを使ったWebサービス「BY MY COIN」について(2/4) - @yzono blog 目次 By My Coin Web版はどうして…

Reality Keysと連携するiOSアプリをつくる 第1回

はじめに 前回までBY MY COIN(以降BMC)の実装を調べました。BMCは美しく、レスポンシブルなデザインでスマホ画面にも最適化されています。これをモバイルアプリ化したら使い勝手が向上するかもしれません。 今回からモバイルアプリ化について考えてみます。 …

Reality Keysを使ったWebサービス「BY MY COIN」について(4/4)

はじめに BY MY COINについての最終回としてclaimの実装を見ます。realitykeysdemo.pyの時はclaim処理ができまで時間がかかりました。JSの場合どのように実装されているか興味あります。 目次 RK Runkeeper API(結果取得API) ソースコードを読む 知りたいこ…

Reality Keysを使ったWebサービス「BY MY COIN」について(3/4)

はじめに BY MY COINのソースコードを読むシリーズ。第2回は画面を表示した時の処理について書きます。 状態としてざっくり以下2パターンあります。 初回表示 契約がある状態(window.localStorageにデータがある) 目次 知りたいこと ソースコードを読む 知り…

Reality Keysを使ったWebサービス「BY MY COIN」について(2/4)

はじめに 前回はBY MY COINの使い方について書きました。今回からはどうやって実装しているかについて調べます。 主なユースケースとして以下3つあります。今回は1.契約のセットアップについて書きます。 契約のセットアップ 初期表示とセットアップ後の待ち…

Reality Keysを使ったWebサービス「BY MY COIN」について(1/4)

はじめに 前回まで、realitykeysdemo.pyを利用してsetupとclaimをやりました。今回はReality Keysを使ったWebサービス「BY MY COIN」について書きます。 目次 BY MY COINとは BY MY COINの使い方 BY MY COINとは BY MY COINは、Reality Keysが提供するPerson…

Reality Keysのsetupからclaimまで一連の流れ

はじめに 過去数回にわたってReality Keysの試行錯誤をダラダラ書いてきましたが、setupからclaimまで一連の流れが成功しましたので書きます。 Reality Keysの開発者Edmundに貴重なアドバイスをたくさん頂きました。ありがとうございます。 目次 動作確認し…

Blockchain.infoのpushtxはnon-standard txをブロードキャストするのか

はじめに 過去数回にわたってReality Keysについて調べてみましたが、Reality Keysのclaim時のブロードキャストはBlockchain.infoのpushtxからはできないため、Eligiusというminine pool?に対してブロードキャストすると理解していました。 ただし未確認情報…

Reality Keys(事実に関する認証局サービス)のrealitykeysdemo.pyを読む(2/3)

はじめに 前回「契約のセットアップ(execute_setup)」についてソースコードを読みました。今回は「勝利の主張(execute_claim)」について調べてみます。 目次 前回の振り返り 勝利の主張(execute_claim) エラーの原因調査 前回の振り返り 前回claimを実行した…

Reality Keys(事実に関する認証局サービス)のrealitykeysdemo.pyを読む(1/3)

はじめに 前回なんとなくReality Keysを動かしましたが、今回はソースコードを読んでちゃんと理解しようと思います。 Reality KeysからYESとNOの公開鍵を受け取った後の処理は、realitykeysdemo.pyで全てできます。 realitykeysdemo.pyは以下4つの機能があり…

Reality Keys(事実に関する認証局サービス)を使ってみる (3/3)

はじめに 前回に引き続き、Reality Keysから受け取った公開鍵を利用してP2SHトランザクションを作成するところについて書きます。 目次 前回までやったこと Bobの公開鍵を作成(makekeysコマンド) 1と2で作成した公開鍵に対してビットコインを送金 AliceがP2S…

Reality Keys(事実に関する認証局サービス)を使ってみる (2/3)

はじめに 今回はReality Keysから受け取った公開鍵を利用してP2SHトランザクションを作成するところについて書きます。 (2016/2/6 追記) この記事に書いてあるセットアップ手順は一部問題があります。詳しくは以下記事を参照ください。 Reality Keysのsetup…

Counterpartyプラットフォームを利用したモバイルゲーム"Spells Of Genesis"について考えたこと

はじめに Blockchainを通貨以外に利用する試み(いわゆるビットコイン2.0)を、いろいろな人たちがチャレンジしていますが、今回はBlockchainをゲームに取り入れようとしているSpells of Genesisについて書きます。 目次 Spells Of Genesisとは これまでのゲー…

Reality Keys(事実に関する認証局サービス)を使ってみる (1/3)

はじめに 第2回 ビットコイン・スタートアップピッチで発表されたReality Keysについて調べてみました。 目次 Reality Keysとは Reality Keysで何ができるか Reality Keysの使い方 1.イベント登録する Reality Keysとは RealityKeysは世界初の「事実に関する…

Mastering Bitcoinを読む Chapter4 Mnemonic Code

はじめに 今回はMnemonic Code、Mnemonic Code Wordsについて書きます。 目次 Mnemonic Code Wordsとは Mnemonic Code Converter Mnemonic Code Wordsの作り方 Mnemonic Code Wordsとは Mnemonic Code Words Mnemonic Code Wordsは128ビット〜256ビットの数…

Mastering Bitcoinを読む Chapter4 公開鍵、ビットコインアドレス

はじめに 前回は秘密鍵の作成まで読みました。今回は公開鍵、ビットコインアドレス作成までを読みます。 目次 公開鍵作成 ビットコインアドレス作成 公開鍵作成 Private and Public Keys 公開鍵(Public Key)は楕円曲線公開鍵暗号(ECC)を使用して作成します。…

Mastering Bitcoinを読む Chapter3-4 txindexオプション、秘密鍵作成

はじめに 前回に引き続き、Mastering BitcoinのChapter3と4を読んで気になったところを書きます。 目次 txindexオプション Private Key作成 ランダム係数について txindexオプション Transaction Database Index and txindex Option By default, Bitcoin Cor…

Mastering Bitcoinを読む Chapter2 - マイニングの優先順位について

はじめに Counterpartyプラットフォーム上にアプリケーションを開発する場合、Bitcoinの仕組みを正しく理解しておく必要があります。今回はAndreas(@aantonop)の"Mastering Bitcoin"のChapter2を読んで気になったことを書きます。 目次 Mastering Bitcoinと…

Blockscan JSON APIを使ってみる(Apple Watch) (2/2)

はじめに 今回はBlockscan JSON APIで取得した残高情報をApple Watchの画面に出力します。 目次 はじめてのApple Watch iOSAppとWatchKit間のデータ連携 Blockscan Address API(アセット残高取得API) はじめてのApple Watch 多くの先人のおかげでApple Watch…

Blockscan JSON APIを使ってみる(Swift) (1/2)

はじめに 今回は[Blockscan](https://www.blockscan.comが提供しているJSON APIの使い方について書きます。Blockscan APIを利用すると自前でCounterpartydをインストールする必要が無いため、アプリケーション開発に資源を集中することができます。 現在は参…

Miami Bitcoin Hackathonで優勝した"OpiDoki"について(1/3)

はじめに 1/9〜1/11にMiami Bitcoin Hackathonが開催され、Counterparty を利用したWebアプリ"OpiDoki"を作成したChrisとArianのチームが優勝しました。今回は"OpiDoki"について書きます。 目次 OpiDokiとは OpiDoki内で使っているCounterpartyd API OpiDoki…