クリプトゾンビ

クリプトゾンビ Lesson 1 Chapter13 EVENT

更新日:

Lesson 1 Chapter13 EVENT

Events は、ブロックチェーンで何かが生じたときにコントラクトがフロントエンド処理(アプリ)に伝えることができる仕組み。

Solidity はバックエンド処理、event はバックエンドからフロントエンド処理への窓口の定義。

web3.ethとevent

web3.ethとevent

EVENTの例

例:
// イベントの宣言
event IntegersAdded(uint x, uint y, uint result);

function add(uint _x, uint _y) public {
uint result = _x + _y;
// 関数が呼ばれたことをフロントエンドアプリに伝えるためにイベントを発生させる:
IntegersAdded(_x, _y, result);
return result;
}

JavaScriptで実装する場合

JavaScriptで実装する場合の記述:
YourContract.IntegersAdded(function(error, result) {
// 結果について何らかの処理をする})

新しいゾンビを作る毎にそれをフロントエンドに伝えて、アプリ上に表示させる。

EVENTは、呼び出すインターフェースを規定した定義(宣言)
event NewZombie(uint zombieid,string name,uint dna); 
//イベントの宣言と実際の呼び出しに分かれる。
NewZombie(uint id,string zombieid,uint dna);
//フロントエンド処理の呼び出し

コントラクトにアクセスする方法

コントラクトをコンパイルした時に生成されるabi(Application Binary Interface)を使用してオブジェクトを作成する。

abi = /* abi generated by the compiler */
var ZombieFactoryContract = web3.eth.contract(abi)

コントラクトをイーサリアム上にデプロイした時に与えられるcontract addressを使用してイーサリアム上のコントラクトにアクセスします。
var contractAddress = /* our contract address on Ethereum after deploying */
var ZombieFactory = ZombieFactoryContract.at(contractAddress)
この`ZombieFactory`はコントラクトのpublic関数とイベントにアクセスできる。

// 入力テキストを取得する類のイベントのリスナーだ:
$("#ourButton").click(function(e) {
var name = $("#nameInput").val()
// ボタンをクリックすると#nameInputに入力された名前(name)を引数として`createRandomZombie`関数を呼び出します。:
ZombieFactory.createRandomZombie(name)
})

// `NewZombie`イベントをリッスンしてUIを更新する
var event = ZombieFactory.NewZombie(function(error, result) {
if (error) return
generateZombie(result.zombieId, result.name, result.dna)
})

// ゾンビのdnaを取得して画像を更新する
function generateZombie(id, name, dna) {
let dnaStr = String(dna)
// 16桁未満の場合はDNAの先頭に0をつける
while (dnaStr.length < 16) dnaStr = "0" + dnaStr let zombieDetails = {

// 最初の2桁は頭の部分だ。頭部は7種類用意してあるから、%7して
// 0から6の番号を取得したら、そこに1を足して1から7にするのだ。
// これを基にして、"head1.png" から"head7.png"までの
// 画像ファイルを用意する部分だ:

headChoice: dnaStr.substring(0, 2) % 7 + 1,
// 次の2桁は目の部分だ。11種類用意してあるぞ:
eyeChoice: dnaStr.substring(2, 4) % 11 + 1,
// シャツの部分は6種類用意してある:
shirtChoice: dnaStr.substring(4, 6) % 6 + 1,
// 最後の6桁は色の部分だ。 CSSのフィルタを使用して更新できる。
// 360度の色相回転(hue-rotate)を使うぞ:
skinColorChoice: parseInt(dnaStr.substring(6, 8) / 100 * 360),
eyeColorChoice: parseInt(dnaStr.substring(8, 10) / 100 * 360),
clothesColorChoice: parseInt(dnaStr.substring(10, 12) / 100 * 360),
zombieName: name,
zombieDescription: "A Level 1 CryptoZombie",
}
return zombieDetails
}

prev

ogp
クリプトゾンビ Lesson 1 Chapter12 ゾンビ生成関数

Lesson 1 Chapter12 ゾンビ生成関数 ゾンビの名前またはユーザーの名前をインプットして、名前からランダムなDNA値をもとめゾンビ作成するpublic関数を作成する。 ブロックチェーン上 ...

続きを見る

next

ogp
クリプトゾンビ Lesson 2 Chapter2 AddressesとMappings

Lesson 2 Chapter2 EVENT AddressesとMappings Addresses イーサリアムブロックチェーンのアカウントには、42桁(0xに続く40文字の16進数)の英数字ア ...

続きを見る

ビットコインってなに?

2008年11月、metzdowd.comにナカモトサトシにより投稿された論文Bitcoin:A Peer-to-Peer Electronic Cash Systemで定義された仕様とをもとにビットコイン・コミュニティーで開発が続けられる製造と取引に暗号学を使った通貨のことです。

ビットコイン自体は、フリー・ソフトウエアで、ソフトウェア開発のプラットフォームGitHubに登録すれば、ソースやドキュメント閲覧が可能で、開発に参加も可能です。

ナカモトサトシは、2010年12月まで開発に携わっていましたが、その後姿を消しました。日本名ですが、国籍も含め匿名性が高く身元も不明です。

真偽のほどは、不明ですがSBI社長の北尾氏が、2018年3月期第2四半期 SBIホールディングス(株)決算説明会動画の1:29:20頃)でナカモトサトシと議論を交わしたと発言して話題になりました。

ビットコインの仕組み

ビットコインは、P2P型の公開型分散台帳技術(DLT)によって信頼性を担保され運用されるブロックチェーンで結合された暗号通貨(cryptocurrency)のことです。

ビットコインは、P2Pネットワーク上のサーバー上で同一取引情報を持ちコントロールすることで取引の妥当性のチェックが行われるため、銀行など、特定の管理者がいない非中央集権型の仮想通貨と呼ばれています。

ブロックチェーン


GitHub

ブロックチェーンの動き

マイニング

ビットコインは送信アドレス(Tx)に対するデジタル署名によって保護されており、一定時間(10分)ごとに、すべての取引記録を分散台帳に追加します。

その追加処理には、ネットワーク上の分散取引台帳データと、10分間に発生したすべての取引のデータの整合性を取りながら正確に記録することが必要です。

整合性を取る作業は、膨大な計算量が必要となるため専用のハードウエアの計算能力を使って、誰でもが取引を処理することができます。

この手伝いをしてくれた人(膨大な計算処理を行った人)の中で、結果として追記処理を成功させた人には、その見返りとしてビットコインが支払われます。

この作業をマイニングと呼びます。

マイニングには、ソロマイニングとプールマイニングがあり、個人のPCでも余った演算能力でプールマイニングに参加できます。

ブロックチェーンをより深く理解する

全画面にして字幕設定を自動翻訳 イタリア語=>自動翻訳を経由して日本語に設定するとよくわかります。

上記デモは、下記リンク先サイトを使用しているので、自分でも試すことができます。

 

ジェネシス・マイニングでのハッシュパワー購入

ジェネシス・マイニングは世界最大の高く信頼されたビットコイン クラウド マイニングのプロバイダーです。ハッシュパワー購入時に,コード(kjx2uz)を使用した人は、購入時に3%の割引になります。

ブロックチェーンエクスプローラー

ブロックチェーンアドレスを入力することで、送金状況(confirmation回数の確認)が行えます。

イーサリウムの仕組み

-クリプトゾンビ

Copyright© 仮想通貨アンテナ , 2021 All Rights Reserved.