時価総額: $2.1745T 0.53%
ボリューム(24時間): $38.421B -36.01%
恐怖と貪欲の指数:

32 - 恐れ

  • 時価総額: $2.1745T 0.53%
  • ボリューム(24時間): $38.421B -36.01%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.1745T 0.53%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

単純なスマートコントラクトの例

A smart contract is a self-executing agreement written in code, deployed on blockchain platforms like Ethereum to automate actions when conditions are met.

2025/07/16 23:50

スマートコントラクトの理解

スマート契約とは、コードに直接書かれた契約の条件との自己執行契約です。ブロックチェーンテクノロジーで実行され、事前定義された条件が満たされたときにアクションを自動的に実行します。スマートコントラクトを展開するための最も人気のあるプラットフォームは、Solidityプログラミング言語を使用するEthereumです。

単純なスマートコントラクトがどのように機能するかを理解するには、基本的な例を検討してください。値を保存し、更新できるようにする契約です。これは、トークン転送、分散型ファイナンス(DEFI)プロトコル、NFTなどのより複雑なアプリケーションの基礎として使用できます。

スマート契約は、コードを通じて信頼を実施し、透明性を確保し、手動監視の必要性を減らすことにより、仲介者を排除します


Solidityで基本的なスマートコントラクトを書く

Ethereumの主要なプログラミング言語であるSolidityを使用して、簡単なスマートコントラクトを作成しましょう。この契約により、署名されていない整数が保存され、誰でもその価値を更新できるようになります。

これが基本構造です:

 pragma solidity ^0.8.0;契約simplestorage {




uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; }

}

この契約には2つの機能があります。

  • set(uint x) - 保存された値を更新します。
  • get() - 現在の値を取得します。

このコードの各行は、Ethereum Virtual Machine(EVM)で契約の動作を定義する上で重要な役割を果たします。


スマートコントラクトの展開

この契約を展開するには、次のことが必要です。

  • Solidity Compiler(例えば、Remix IDE)
  • イーサリアムウォレット(たとえば、メタマスク)
  • ガス料金のテストネットETH

ステップ:

  • Remix IDEを開きます
  • SimpleStorage.solという名前の新しいファイルを作成します
  • 上記のコードをエディターに貼り付けます
  • [コンパイラ]タブで適切なコンパイラバージョンを選択します
  • [トランザクション]タブに切り替えます
  • 挿入されたWeb3を選択し、メタマスクウォレットを接続します
  • [展開]をクリックします

展開すると、インターフェイスに契約アドレスと利用可能な機能が表示されます。

展開にはガス料金がかかるため、ウォレットに十分なテストネットETHが含まれていることを確認してください。


展開された契約との対話

展開後、Remixで提供されている機能を使用して契約と対話できます。これらには、値の設定と取得が含まれます。

保存された値を更新するには:

  • set機能を展開します
  • 入力フィールドに番号を入力します
  • [Transact]をクリックします
  • メタマスクのトランザクションを確認します

値を取得するには:

  • get関数を展開します
  • [呼び出し]をクリックします

これらのインタラクションは、バックエンドサーバーを必要とせずにユーザーがブロックチェーンベースのアプリケーションに関与する方法を示しています。

スマートコントラクトとのすべての相互作用には、ウォレットを介して署名および確認する必要があるトランザクションが必要です


スマートコントラクトのセキュリティ上の考慮事項

このような単純なスマートコントラクトでさえ、セキュリティベストプラクティスについてレビューする必要があります。この例には機密データや資金は含まれていませんが、実際の契約はしばしば行います。一般的な問題は次のとおりです。

  • 再発攻撃
  • 整数オーバーフロー/アンダーフロー
  • 不適切なアクセス制御

この契約では、 setを呼び出すことができる人を制限する修飾子を追加すると、セキュリティが強化される可能性があります。例えば:

 address owner; constructor(){




owner = msg.sender;

}

modifierのみの所有者{

require(msg.sender == owner, 'Only owner can call this function'); _;

}

モディファイアをset関数に適用します。

 function set(uint x) public onlyOwner { storedData = x;

}

一見無害な契約であっても、セキュリティはスマート契約開発の後付けになるべきではありません


よくある質問

スマートコントラクトを作成および展開するために必要なツールは何ですか? Remix IDEなどのオンラインプラットフォームを使用して、ソフトウェアをインストールせずにスマートコントラクトを書き込み、展開できます。さらに、メタマスクなどのウォレットとガス料金のテストネットETHが必要です。

展開されたスマートコントラクトを変更できますか?いいえ、ブロックチェーンにスマートコントラクトが展開されると、そのコードを変更することはできません。変更が必要な場合は、新しい契約を展開する必要があります。

スマートコントラクトを展開するのにいくらかかりますか?コストは、契約の複雑さと現在のネットワークの混雑に依存します。より複雑なものと比較して、より単純な契約はガス料金の費用が低くなります。

ガスを支払うことなくスマート契約からデータを読むことは可能ですか?はい、 view関数を介してデータを読むことは状態を変更せず、したがってガスを必要としません。ただし、データの書き込みまたは変更には常に料金がかかります。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

取引前にLINK先物清算リスクを計算するにはどうすればよいですか?

取引前にLINK先物清算リスクを計算するにはどうすればよいですか?

2026-07-30 04:39:50

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの評価は、投機的行動の高まりを反映して、Bitcoin の優位性が低い期間に増幅された変動を頻繁に示します。 3. 上場投...

LINKUSDT 無期限契約のファンディング レートとは何ですか?

LINKUSDT 無期限契約のファンディング レートとは何ですか?

2026-07-29 07:40:14

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 10% を超えることがよくあります。 2. イーサリアムのボラティリティ指数は、レイヤー 2 ロールアップ アップグレードが開始されると、特に導入...

AVAX 契約清算価格が変更されたのはなぜですか?

AVAX 契約清算価格が変更されたのはなぜですか?

2026-08-01 00:16:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

AVAX 先物証拠金要件はどのように計算されますか?

AVAX 先物証拠金要件はどのように計算されますか?

2026-07-23 15:40:03

AVAX先物証拠金構造1. AVAX 先物証拠金は、当初証拠金と維持証拠金という 2 つの異なる要素で構成されます。これらは、現在の市場価格、ボラティリティ、建玉、契約サイズに基づいてリアルタイムで計算されます。 2. 当初証拠金は、短期間(通常は 1 回の取引セッション)にわたる潜在的な不利な価格...

AVAXUSDT の永久契約ファンディング レートとは何ですか?

AVAXUSDT の永久契約ファンディング レートとは何ですか?

2026-07-31 15:00:04

定義とコア機能1. AVAX/USDT 無期限契約ファンディング レートは、デリバティブの取引価格を原資産となる AVAX スポット インデックスに結び付けるように設計された定期的な支払いメカニズムです。 2. 従来の先物とは区別され、有効期限なしで動作し、時間ベースの収束ではなくリアルタイムの調整...

ADA先物での強制清算を回避するには?

ADA先物での強制清算を回避するには?

2026-08-02 01:21:48

ADA 先物証拠金の仕組みを理解する1. Binance や Bybit などの主要取引所の ADA 先物契約では、通常、ポジション想定元本価値の 0.5% ~ 1.5% の間に設定された維持証拠金レベルが必要です。 2. 当初証拠金要件は、レバレッジ層と契約満期に応じて 3% から 10% の範囲...

取引前にLINK先物清算リスクを計算するにはどうすればよいですか?

取引前にLINK先物清算リスクを計算するにはどうすればよいですか?

2026-07-30 04:39:50

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの評価は、投機的行動の高まりを反映して、Bitcoin の優位性が低い期間に増幅された変動を頻繁に示します。 3. 上場投...

LINKUSDT 無期限契約のファンディング レートとは何ですか?

LINKUSDT 無期限契約のファンディング レートとは何ですか?

2026-07-29 07:40:14

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 10% を超えることがよくあります。 2. イーサリアムのボラティリティ指数は、レイヤー 2 ロールアップ アップグレードが開始されると、特に導入...

AVAX 契約清算価格が変更されたのはなぜですか?

AVAX 契約清算価格が変更されたのはなぜですか?

2026-08-01 00:16:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

AVAX 先物証拠金要件はどのように計算されますか?

AVAX 先物証拠金要件はどのように計算されますか?

2026-07-23 15:40:03

AVAX先物証拠金構造1. AVAX 先物証拠金は、当初証拠金と維持証拠金という 2 つの異なる要素で構成されます。これらは、現在の市場価格、ボラティリティ、建玉、契約サイズに基づいてリアルタイムで計算されます。 2. 当初証拠金は、短期間(通常は 1 回の取引セッション)にわたる潜在的な不利な価格...

AVAXUSDT の永久契約ファンディング レートとは何ですか?

AVAXUSDT の永久契約ファンディング レートとは何ですか?

2026-07-31 15:00:04

定義とコア機能1. AVAX/USDT 無期限契約ファンディング レートは、デリバティブの取引価格を原資産となる AVAX スポット インデックスに結び付けるように設計された定期的な支払いメカニズムです。 2. 従来の先物とは区別され、有効期限なしで動作し、時間ベースの収束ではなくリアルタイムの調整...

ADA先物での強制清算を回避するには?

ADA先物での強制清算を回避するには?

2026-08-02 01:21:48

ADA 先物証拠金の仕組みを理解する1. Binance や Bybit などの主要取引所の ADA 先物契約では、通常、ポジション想定元本価値の 0.5% ~ 1.5% の間に設定された維持証拠金レベルが必要です。 2. 当初証拠金要件は、レバレッジ層と契約満期に応じて 3% から 10% の範囲...

すべての記事を見る

User not found or password invalid

Your input is correct