Build secure, OpenZeppelin-standard smart contracts with your favorite AI using the Contracts Skills.
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
🌞 概要 OpenZeppelinのUpgradeable Contractsに関するドキュメントを読んでいて、Clonesの存在を知りました。ClonesはUpgradable Contractsの仕組みの一部であるProxyの一種で、Implementation Contractの更新機能を省いたProxyだと言えます。(つまり、Implementation Contractの初期化だけできます。) Clonesは、同じContractのインスタンスを多数作成するContractFactoryによって作成されるようなContractを低いガス代で量産するのに便利ですとOpenZeppelinには記載されてます。 Clonesは指定したContractの複製(クローン)を低いガス代で作るための関数(clone)を用意したlibraryなのです。 🌝 コード解説 実際のコードを見つつ、
Ethereumにデプロイするコントラクトは基本的にimmutableで変更できない。しかしながら当然バグの修正などが発生するので変更できた方が当たり前ながら便利。 だがコントラクトを作り直してアップグレードしようとすると、既存コントラクトから新しいコントラクトへの状態のマイグレートやすでに存在している利用者のアプリのコントラクトIDを差し替えてアップデートするように促したりなどかなり煩雑な作業が必要になる。バグ修正したいのにとてもじゃないが気軽にパッチなんて当てられない。 このあたりの処理を極力簡便化してくれるのがOpenZeppelinのContracts Upgradableである。 基本的な思想としてはコントラクトを 修正 ではなく 拡張 することで解決する方向性。 使い方 とりあえずhardhatを使っている場合の話。まずは必要なライブラリのインストール。 インストールと設定 y
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く