うどんの帝国

うどんとブロックチェーンって似てる

Facebookの目指す金融プラットフォームLibraについて疑問まとめ

どうもこんにちは、ミヤザキです

 

昨日Facebookが独自の仮想通貨Libraの詳細を一斉に公開しました。

かなりしっかりと作り込まれたドキュメントやホームページで、そういったところは二の次になりがちなブロックチェーン界隈のプロジェクトとはまた違った雰囲気がして新鮮です。

 

調べていて疑問に思ったことをいくつかまとめてみました。

 

 

続きを読む

ブロックチェーンのトリレンマ、トリレンマ、トリレンマ。。。

どうもこんにちは、ミヤザキです。

 

タイトルは少し調子乗りました。

 

今回は巷でよく言われているブロックチェーンのトリレンマについて書こうと思います。

 

Vitalik Buterin 

blockchain system can only at mot have two of the following three properties

ブロックチェーンシステムは最大でも次の3つの要素のうち2つしか持つことが出来ない。)

 って言ったみたいです。

続きを読む

DecryptTokyoハッカソンに出ます!!

題名の通りです。

出ます!

 

出られることになってよかったです。

 

とりあえずハッカソンと言うもの自体初めてだし、割と周りのレベルが高かったらどうしようとかすごい不安もありますが楽しみです。

 

せっかく行くのでしっかりと学びを得て来ようと思います。

 

自分は普段IOSTをいじったりすることが多いんですが、多分ハッカソンで短い期間に開発をするとなると多分環境も情報も整ってるイーサリアムを扱うことになると思うので、ちゃんと準備してから行きたいですね。

いうてもあと二日くらいしかないんですが。

 

前に一度やったクリプトゾンビをやり直して、フロントエンドとのつなぎを予習していくくらいで大丈夫かな

 

エンジニアとしての基礎力が全然足りないと思うのでやる気でカバーします!

 

 

 

 

LINK Chainが本物のトークンエコノミーを作る

どうもこんにちはミヤザキです。

 

LINEがブロックチェーン技術に積極的に取り組んでいることは知ってはいたのですが、

 

どのレベルで取り組んでいるのかなど細かい話は知りませんでした。

 

今日トークンエコノミー関連の記事を漁っているときに、LINEは自社でブロックチェーンを作っていて、すでにDAppをいくつか公開していることを知りました。

 

現在はプライベートチェーンで完全に社内事業のようですが、将来的にはパブリックに移行し、誰でもブロックチェーンを触ることが出来るようになるそうです。

 

そこでもし、LINEの開発するブロックチェーンがもっと広く使われるようになればブロックチェーン、そしてDAppsが抱える最大の課題の一つである、マスアダプションを実現できるのではないかと思いました。

 

以下詳細です。

続きを読む

ブロックチェーン界隈の諸君「Ethereumって何?」って突然聞かれたらどう答える?

こんにちはミヤザキです。

 

5月から毎月、一か月を前後半に分けて、それぞれテーマを決めて調べ学習をしようと思い立ち、第一回のテーマはEthereumに決めました。

 

始めたのがGW後、そのあといろいろあり数日空いたりしてしまったので実質5日くらいしか勉強できませんでしたが、ゆるくやっていこうと思うのでまあよしとしましょう。

だらだら続けるのはけっこう得意です。

 

それでインプットしたらアウトプットしようと思ったので記事を書くことにしたんですが

いきなり僕が

 

「これがEthereumだ!!」

 

とか言っても全く説得力もないしなーと思ってたところ

 

心の中のリトルミヤザキにこう聞かれました。

 

「Ethereumってなに?」

 

続きを読む

【20代からの資産運用】新卒一年目だけどちゃんと資産運用をしようと思う。

どうもこんにちはミヤザキです。

 

僕はぴちぴちの新卒一年目です。

名古屋でエンジニアをやっています。

 

初任給を手にし、節約をしつつ余ったお金をどうしようか考えていると、今のうちから資産運用をしておくのがいいのかなと思いました。

 

この記事は僕の資産運用法を紹介するなどの記事ではなく(ノウハウなど皆無)、なぜ資産運用しようと思ったかをつらつら書き連ねるだけの面の皮の厚い記事なのでご容赦ください。

 

続きを読む

(第二弾)IOSTでスマートコントラクトを書くよ

どうも、みやざきです。 IOSTスマートコントラクト第2弾です。

まずスマートコントラクトを書く前に準備がいるので、ローカルテストノードを立ち上げるためには下の記事の1.までやってみてください。 すぐ終わると思います。

www.tama-fun95.tokyo

 1.スマートコントラクトを書く

では早速スマートコントラクトを書いてみましょう。

スマートコントラクトの中身はこんな感じです。

init関数:スマートコントラクトがパブリッシュされたときに動く関数。

can_update:公式が用意しているコントラクトアップデートのための関数。これをコントラクト内に書かなければアップデート不可にできます。

putText:ユーザーからのインプットを受け取ってストレージに保存する関数。

getText:ストレージから特定のTextを読み取ってユーザーに返します。

まず, その前に、IOSTのストレージにはJSON形式でデータが保存されます。 なので

ストレージに数値をしまいたければJSON.stringify

ストレージ取り出したい値を数値として使いたい場合はJSON.parse()して使う必要があります。

毎回書くとめんどくさいので最初にまとめて書いてしまいます。

_get(k){
    const val = JSON.parse(storage.get(k));
    return val;
}

_put(k,v){
    const val = JSON.stringify(v);
    storage.put(k,val);
} 

storage.put:ストレージにKey-Valueペアを保存 storage.get:ストレージからKeyをもとにValueを取ってくる。

などはIOSTのAPIです。

詳しくは公式ドキュメントのAPIページを見てください。

https://developers.iost.io/docs/en/3-smart-contract/IOST-Blockchain-API.html

では本題。

class TextRecorder {
    init (){
    //パブリッシュされたときに
      // {"count":"0", "text_count_0":"GENESIS_TEXT"}って感じで保存。
        this._put('count', 0);
        storage.put("text_count_0" ,"GENESIS_TEXT");
    }

    
//これはテンプレだと思います。
    can_update(data) {
        return blockchain.requireAuth(blockchain.contractOwner(), "active");
    }


    putText(txt){
     //"count"のValueを持ってきて数値化。
        let textId = this._get("count");
     // それに1を足してそれが今回のテキストの番号になる
        textId = textId + 1;
     //テキストは"count_#":"xxxx"という感じのペアで保存される。
        storage.put("count_" + JSON.stringify(textId), txt);
     //最後にcountを再度JSON化してストレージに保存して今のテキストの数を記録する。
        this._put("count", textId);
    }

//これはテスト用に書いたのでなくてもいいです。現在のcountを見られる。
    getStoryCount(){
        return storage.get("count");
    }

//テキストの番号をもとにストレージから対応するValueを返す。
    getStory(id){
        let textId = "count_" + id;
        let txt = storage.get(textId);
        return txt; 
     }

    _get(k){
       const val = JSON.parse(storage.get(k));
       return val;
     }

    _put(k,v){
       const val = JSON.stringify(v);
       storage.put(k,val);
     } 
}

このスマートコントラクトをざっくりまとめると、

テキストは"count_#":"xxxx"というのペアで保存される。

それとは別に"count":"xx"というペアがありputTextの度に”xx”の値が1ずつ増える。

こんな感じでストレージを使ってテキストに対してユニークな番号を割り当ててます。 今度はmapも使ったりしてやりたいと思います。

Qiitaにも同じ記事をあげるつもりです。

第3弾は実際に上記のスマートコントラクトをブロックチェーン上にパブリッシュ(ディプロイ)して動かしてみようと思います。

Twitterやってます。もしよかったらどうぞ。

twitter.com

IOSTでスマートコントラクトいじってみた

どうも、みやざきです。

今回は軽くIOSTのスマートコントラクトをいじってみました。

 

今回やることは公式ドキュメント見れば大体載ってます、というか今のところこれ以外見るものがあまりない。

https://developers.iost.io/docs/en/3-smart-contract/ContractStart.html

 

この記事を読み進めえる前に注意なんですが、かなり初心者向けに書いてます。

というか僕が初心者なので自分に授業する感じで書いてます。

ので経験豊富なエンジニアの方にはすこし冗長かもしれませんがそこはご了承ください。あと読んでて、こいつここのところよくわかってないな、とか思ったらお手数ですがご指摘いただけるとありがたいです。

 

まず今回やるのは、

  • 0.その前に、必要なもの
  • 1.Dockerでテストノードを立ち上げる。
  • 2.適当にコントラクトを書いてみよう。
  • 3.実際にコントラクトを呼び出してみる
  • 4.お疲れさまでした。

って感じです。

 

続きを読む

「サービスのインターネット」ブロックチェーンプロジェクト、IOSTについて

 

IOSTとはEthereum、EOS、TRONに次ぐブロックチェーンアプリケーションプラットフォーム。

 

ブロックチェーンアプリケーションプラットフォームの定義などは曖昧ですが、ここでは主にアプリケーションを動かすことを目的としたプラットフォームのことをいいます。

 

IOSTの由来はInternet of Service Token。

シンガポールを拠点とした(開発チームは北京にいるみたいです。籍だけシンガポールという感じなのでしょうか)非営利のIOST財団が率いるプロジェクトです。

 

IOSTが売りにしているのは、

イーサリアムより早くEOSより分散している』

ことです。

 

シャーディング技術を使用して(まだ実装されてはいません)秒間数万のトランザクションを捌くことができ、分散性に関しては寡占を防ぐPoBという仕組みを採用しています。

 

以下詳細です。

 

続きを読む

秋田にある国際教養大学に通ってるんだけど、興味ある?

 どうもみなさんこんにちは、みやざきです

 

秋田はもうどちゃくそ寒いです。

 

そのうち雪も降り始めるんでしょうな。

 

いやあ、そりゃあ、関東で育った僕にとって

 

白銀の世界ってのは美しいものだと思ってました。

 

 

 しかし、住めば地獄。

 

歩きづらい、寒い、滑る

 

冬はつらいです。

 

なぜ僕が秋田に来ることになったか。

 

それは5年ほど前の冬のことでした。

続きを読む

イギリスのくそダサいブランドSuperDry極度乾燥(しなさい)って知ってる??

f:id:tama-fun95:20181112093033p:plain

どうもみなさんこんにちは、ざきです

 

最近、ベッドの横にコーヒーを入れた水筒とPCを置いて苦手な朝を変えようキャンペーン実施中です。

 

今日はしっかり6時半に起きました。

またもやゲートボールの音が聞こえてきます。

秋田のご老人はこんなくそ寒い朝からゲートボールをしています。

おそるべし。

 

さて今日はとあるアパレルブランドの話。

海外に行くとかなりの確率で目にする、世界的にも人気のあるブランドなのですが、

とある理由から日本ではほとんど見かけません。

 

続きを読む