villagerHの日記

勉強したことや苦労した事などを書き綴ります

ブロックチェーン

ブロックチェーンゲーム

coinpost.jpまだまだ発展途上の技術だと思いますが、 こういうニュース記事を読むとすごく心躍ります!レアカードだと仮想通貨ではありますが通貨とトレードが成立することもあると思いますし リアルのカードと全く変わらないなってところまで来た気がします…

Truffleで生成したjsonからcontractへの接続

ちょっと時間が空きましたが前回の続きです。villagerh.hatenablog.comタイトルにある通りですがTruffleでブロックチェーン上にデプロイした際に生成されるjsonからcontractへの接続が無事にできました!のでまとめておきます。 とりあえず最初に接続までで…

Python web3

Pythonでのコントラクトへのアクセスプロジェクトを少しずつですが作成し始めました。軽く調べたりしましたがJavaScriptからアクセスする形よりも資料が少ないので非常に苦戦しそうです!簡単にですが現時点でなんとなく理解したこととかをまとめてみます。P…

音楽サービス

ブロックチェーンを用いた音楽サービスが開始されたそうで。japanese.engadget.com少しずつではありますがこうった実際に技術を使用したサービスが出てくるとワクワクして期待が持てますね!

今後について

solidityでコントラクトを作成してフロントエンドから直接呼び出す処理はできました。なので今度はバックエンドからの呼び出しを作ってみようかなと思ってます。おそらくサービスレベルでスマートコントラクトを用いる場合はものにもよるんでしょうがまだま…

一区切り

一旦作っていたスマートコントラクトの作業が一区切りしました。フロントエンドはさっぱりなのもあって見た目は残念ですがとりあえず最低限の形にはなったかなと。リリースするためのアプリとかを作っているわけではないので1つのものにこだわるよりもまた新…

コントラクト自身のアドレス

まだ完全じゃないですが体調がよくなり始めたので作業の方も再開し始めました。フロント側を作っている最中にコントラクトの拡張を何度か行ったのですが そういえばtruffleでのテスト用ファイルを全く更新していなかったことを思い出して更新しました。ちな…

ブロックチェーンアプリケーション

いつかの記事で軽く触れました、ブロックチェーンアプリケーション開発の教科書作者: 加嵜長門,篠原航,丸山弘詩出版社/メーカー: マイナビ出版発売日: 2018/02/01メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見るこちらの本を読み終わり…

前進

結構前進した気がします!前回記載した問題点 ・msg.senderでアドレスを保存しているはずなのに保存されない 実際のコードより uint id = units.push(Unit(pow, 1/*level*/)); unitToOwner[id] = msg.sender;mappingにpushした時に返ってくるindexは 挿入し…

コントラクトの呼び出しに苦戦中②

villagerh.hatenablog.com 前回の続き。こんな感じで呼び出してますが怒られてます。 instance.getUnitNum() Error: The send transactions "from" field must be defined!from fieldを指定しろということなので指定してみます。 instance.getUnitNum({from:…

コントラクトの呼び出しに苦戦中

いくつかのサイトさんを参考にApp.vueを編集し、最低限の感じはできたので動作させてみて確認しようと思ったところコントラクトの関数をうまく呼び出せず苦戦中です…ログを出しつつ色々試行錯誤してみたところMetaMaskのアカウントリストの取得でempty状態で…

DApps作成②

コントラクトというかバックエンド側は一段落したので続いてフロントエンド側を作っていきます。私はフロントエンド側の経験がほぼないのでここから先はおそらくものすごいペースダウンします^^; せっかくなのでフレームワークを利用してみようかなという…

DApps作成①

villagerh.hatenablog.com 前回の続き自作のコントラクトを作ったのでビルドしていきます。・コントラクトのコンパイル(プロジェクトディレクトリのルートで実行) $ truffle compile成功するとbuild/contracts/に.jsが作られます。これをイーサリアム上にデ…

作り始め(Truffle導入)

せっかく覚えたのでオリジナルのDAppを作ってみなくては!ということで作り始めました。いきなり重たいものを作るのは難しいと思うのでCryptoZombiesを参考にしつつの簡単なものを作ろうかなと。DAppの作り方で調べたところTruffleという便利な開発環境があ…

CryptoZombies

cryptozombies.io CryptoZombiesの入門的な項目が一通り完了しました!おかげでようやくブロックチェーンとフロントアプリとの結びつきがわかってきたかなというところです。最低限の入門周りは済んだのかなという気がしているのでそろそろ実際に手を動かし…

イベント

cryptobowl.connpass.com こちらのブロックチェーン関連のイベント?勉強会?に参加してきました。 こういった会に参加するのは初めてだったので登壇するわけでもないのにちょっと緊張でしたw内容は完全な技術系というわけでなく業界全体についてのお話がメ…

スマートコントラクト関連

CryptoZombiesを進めてますがまだSolidityの文法関連が多めな感じなので その辺りは一旦スルーしつつ文法以外の部分で覚えておきたい部分のメモ。 ・ブロックチェーン上にデプロイしたスマートコントラクトは書き換えや上書きが出来なくなるので注意 ・コン…

ブロックチェーンフォーク

ブロックのマイニングを完了して各ノードに伝える場合に複数のブロックが同時に認証され 同様の親ブロックを参照しているフォーク状態が発生することがある。その場合は各ノードは一旦先に到着した方をメインとし後から到着した方をセカンダリチェーンとして…

マークルツリー構築サンプル表示のコードで詰まった話

ビットコインとブロックチェーン作者: アンドレアス・M・アントノプロス出版社/メーカー: NTT出版発売日: 2017/06/01メディア: Kindle版この商品を含むブログを見るこちらのサンプルコードで再び詰まったので解決のお話。サンプルコードをそのまま打ち込…

ブロックチェーン

複数のトランザクションをまとめたものをブロックと呼び、 そのブロックとブロックを繋ぎ合わせることでチェーン(鎖)となる。ブロックの情報には前のブロックのハッシュ値を含んだ上でハッシュ化される。ブロックに含まれる親(前のブロック)情報は必ず1…

script

ビットコインクライアントはscriptを実行することでトランザクションの有効性をチェックしている。scriptにはlocking scriptとunlocking scriptの2つがありその二つを実行し成功することで有効とみなされる。scriptはScript言語でかかれており、このScript言…

トランザクションインプット

トランザクションのインプットは自身のUTXO(bitcoinの塊)から選択される。 1つのUTXOでのbitcoinの量は送付された時点で決まっている。例 1bitcoinを受け取るとそのUTXOは1bitcoinの塊として生成される。 その後支払い等で他人に0.5bitcoinを送付するといっ…

VanityAddress

ビットコインアドレスの頭N文字を人の読める単語(意味のある単語)で表しているもの。(1Cat~とか1Dog~とか)基本的にあまり深い意味はない。 セールスで使用するなどの場合に頭文字に意味を持たせることでその団体の所有しているアドレスだとわかりやすくする…

ウォレット

bitcoinでのウォレットはコインを直接管理しているのでなく秘密鍵のみを管理している。鍵をいくつも持つことが可能なので、ランダムに鍵を生成して持つことも可能ではあるがウォレットを移動するなどの必要が出た場合に すべての鍵を移動しないといけない、…

秘密鍵の表現パターン

関連 villagerh.hatenablog.com villagerh.hatenablog.com秘密鍵から公開鍵を作る際に 非圧縮(yが含まれている)ものと圧縮(yが含まれていない)ものの2つの公開鍵を作ることができる。ビットコインアドレスは公開鍵をハッシュ化することで生成するため上記2つ…

公開鍵

公開鍵は楕円曲線上の点なのでx,yの形で構成されている。04のプレフィックス+x+yの形で表現。yについてはxだけわかれば求められるため、yを省略した形での表現が可能。圧縮(yを省略)した場合は圧縮されているのを判断するためプレフィックスを02or03に変更す…

ビットコインアドレス表示のサンプルコードで詰まった話

ビットコインとブロックチェーン:暗号通貨を支える技術作者: アンドレアス・M・アントノプロス,今井崇也,鳩貝淳一郎出版社/メーカー: NTT出版発売日: 2016/07/14メディア: 大型本この商品を含むブログ (7件) を見るこちらの本を読み進めていて、サンプルコー…

libbitcoinインストール

c++環境での開発に使用するlibbitcoinライブラリのインストール。 ※mac 環境を使用しているためmac環境でのインストール方法となります。 $ brew install bx以上でインストール完了! brewについてはそのうちまとめます。たぶん。

ビットコインで使用している鍵について

ビットコインでは公開鍵と秘密鍵(非公開)を使用している。 まず最初に秘密鍵を生成し秘密鍵を元にして公開鍵を生成。 さらに公開鍵からビットコインアドレスを生成している。 イメージ 秘密鍵 -> 公開鍵 -> ビットコインアドレス 秘密鍵から公開鍵の生成…

ブロックチェーン勉強順

ブロックチェーンの勉強をし始めようと思ったはよいものの、 何から手を付けていいのかわからなかったためネットで情報を調べて以下の本を順番で進めてます。 いまさら聞けない ビットコインとブロックチェーン 作者: 大塚雄介 出版社/メーカー: ディスカヴ…