クリプトゾンビ

クリプトゾンビ Lesson 3 Chapter2 OpenZeppelinの Ownable コントラクト

更新日:

OpenZeppelinの Ownable コントラクト

OpenZeppelinは、分散型アプリケーションを構築、自動化、および運用するためのセキュリティ製品。
(出典 :https://openzeppelin.com/

Access Control - OpenZeppelin Docs

アクセス制御 所有権と Ownable
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() public {
owner = msg.sender;
}

/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}

/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}

function Ownable()はコンストラクタ

コンストラクタ:
コンストラクタ(constructor)は、オブジェクト指向のプログラミング言語(solidity)で新たなオブジェクトを生成する際に呼び出されて内容の初期化などを行なう関数あるいはメソッドのこと。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

modifier(関数修飾子)

modifierは、functionと同じ要領で{ }内に処理を記述するだけです。
onlyOwnerには引数がありませんが引数を取ることもできます。
{ }内の最後だけ少し特殊で_;を最後に記述します。

modifier aaaaa() {
関数と同じ記述方法;
_;
}

Ownableコントラクトの流れ

1.コントラクトが作られた時、コンストラクタがowner を msg.sender (実行した人物だ)に設定する。
2.onlyOwner修飾子を追加して、ownerだけが特定の関数にアクセスできるように設定する。
onlyOwnerは誰もが必要としている機能だから非常に一般的になった。
SolidityのDAppを開発するときには、このOwnableコントラクトをコピーペーストしてから、最初のコントラクトの継承を始めているのだ。

prev

ogp
クリプトゾンビ Lesson 3 Chapter1 コントラクトの不変性 外部依存関係

Lesson 3 Chapter1 コントラクトの不変性 外部依存関係 コントラクトの不変性 コントラクトをイーサリアム上にデプロイすると、イミュータブルになる。つまり編集も更新もできなくなる。 ※イ ...

続きを見る

next

ogp
クリプトゾンビ Lesson 3 Chapter3 onlyOwner 関数修飾子

Lesson 3 Chapter3 onlyOwner 関数修飾子 onlyOwner関数修飾子 定義 modifier onlyOwner() { require(msg.sender == own ...

続きを見る

ビットコインってなに?

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.