ピヨピヨ日記

毎日ピヨピヨしています

Ethereum で非中央集権型広告配信システムをつくってみた

ちょっとおおげさなタイトルですが、Ethereum を使って広告配信システムっぽいものをつくれないかと思い、実験として酔った勢いで作ってみました。下に表示されているやつは、Ethereum のブロックチェーン上に記録された情報をもとに JavaScript で広告を表示しています。(広告配信というとそれっぽく聞こえるのですが、Ethereum に広告配信時間と広告テキスト・ URLが記録してあるだけです。)

 

 

 

この広告を表示する JavaScript 自体はサーバに置いてありますが、いつ・どのような広告を表示するか?といった情報はブロックチェーン上に乗っかっています。なので、クライアントが Ethereum のブロックチェーン上の情報を読みにいくことができれば、広告用のサーバに広告をリクエストすることなく広告を配信することができます。なお、広告枠が購入されていない状態(いわゆる空き枠)だと、空枠って表示されるようにしています。広告枠は空いていれば誰でも購入可能です。

 

広告枠はこちらから購入できます: https://piyolab.github.io/DAD/

(なんか MetaMask の挙動が TestNet - Ropsten と異なっていて、「広告を出稿」ボタンを押してからかなり時間がかかってMetaMaskのポップアップが出る。あと、Gas Limit は入力する文字列の長さによっては1000000とかかなり多めにする必要がある)

 

今回作ったものはかなり適当なものですが、すっごく頑張ればそれなりのものは作れるかも、という感触がありました。ただ、広告にブロックチェーンを使う意義は今のところあんまりわからなくて、広告ネットワーク運用のコスト削減によって手数料が削減できて、広告費を直接暗号通貨で支払うことができるくらいかなあ、と思っています。やっぱり、なんでもかんでもブロックチェーンや暗号通貨と組み合わせればいいってものじゃないですね。

 

あと、Etehreum のトランザクションがたくさん発生しちゃうとつらい感じになるので、インプレッション課金とかそういうのは(少なくとも Ethereum では)ちょっと難しそうだなあと思いました。今回は、インプレッション課金で実装するのは難しそうだったので、期間保証で配信することにしました。オンライン広告には向いていないけど、DOOH(屋外デジタル広告)とかに使うと面白そうだなあ、とおもったり。渋谷の巨大屋外ディスプレイの広告枠が暗号通貨で買える未来がくるのもそう遠くない(かも)。

 

それにしても Ether の高騰がつらい。超シンプルなスマートコントラクトをデプロイするのに、$37.84 もかかってしまいました。手数料もかなり高くなってしまっていていまのところ実用するのはかなり難しいかんじ。貴族じゃないと Ethereum で遊ぶことはできないのか...

 

体重計のAPIから体重を取得

とりあえず、体重計で測った体重を API 経由で取得する方法を勉強した
体重計上の表示では数字丸められて 60kg だったけど、API では小数点以下3桁までの数字が取れるみたい。
つい ruby で書いちゃったけど、どうかんがえても nodejs で書いたほうがよさそうだよなあ

 

f:id:plygnd:20180103021909p:plain

 

コードとしてはまったく賢いことをやっていなくて、単純に URL 叩いて、帰ってきたJson をパースして情報を取っているだけ。

 

APIドキュメントはこちら:

https://developer.health.nokia.com/api/doc#api-Measure-get_measure

 

最初ライブラリを使おうとおもったけど、なんか使い方を調べるのがめんどくさくなって URL を直接叩くことにした。