クリプトゾンビ

クリプトゾンビLesson 3 Chapter11 全ゾンビアイテムの表示2

投稿日:

Lesson 3 Chapter11 全ゾンビアイテムの表示2

Storageのコストは高い

変数をStorageとしてデータを書き込んだり、変更するたびに、それがすべてブロックチェーンに永久に書き込まれるからだ。
世界中の何千個というノードがすべてそのデータをハードドライブに書き込む必要があり、そのデータ容量はブロックチェーンが成長すればするほど大きくなる。
だからどうしてもStorageのコストは高くなる。

storage

ループによるコスト

Solidityでは(external view関数の場合は)大きなデータセットをループで処理する方がstorageを使うよりもview関数はガスを必要としないため低コストとなる。

view

memory内で配列を宣言してループ処理する。

関数の中でmemoryキーワード付きで配列を生成すると、storageに書き込むことなく新しい配列を作ることができる。
配列は関数内でのみ存在するから、storageの配列を更新するよりも圧倒的にガスのコストを抑えることができる。
さらに外部から呼び出されるview関数の場合は、コストはかからない。

memory内の配列の宣言方法

function getArray() external pure returns(uint[]) {
// 長さ3の新しい配列をメモリ内にインスタンス化する

uint[] memory values = new uint[](3);

// 値を追加しよう
values.push(1);
values.push(2);
values.push(3);
// 配列を返す
return values;
}

memoryはコントラクト実行時のみ保持される変数。
そのため、ブロックチェーンに保存されることはない。
ブロックチェーンに保存されないため、コストもかからない。

関数内で宣言された変数はデフォルトでmemoryになる。
関数の実行が完了すれば消えてしまう。(ローカル変数が関数外で使用できないのと同じイメージ)

尚、memoryの配列は必ずサイズを指定して作成する必要がある。

memoryの配列は必ず長さを指定して作成する必要があります(この例では3)。

参考

Solidity Assembly入門 ~ 配列について storage/memory ~

prev

ogp
クリプトゾンビLesson 3 Chapter10 全ゾンビアイテムの表示

Lesson 3 Chapter10 全ゾンビアイテムの表示 手持ちのゾンビ軍団を全て表示できるメソッド view関数を外部から呼び出す場合、ガスは一切かからない。 (view 関数がブロックチェーン ...

続きを見る

next

ogp
クリプトゾンビLesson 3 Chapter12 For ループ

Lesson 3 Chapter12 For ループ Array vs Mapping 使用目的は両者とも配列、もしくは Key Value な形で "情報を格納する" ということなので、似ていますが ...

続きを見る

ビットコインってなに?

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.