-
Bitcoin
$117,783.8892
0.03% -
Ethereum
$2,956.2114
-0.28% -
XRP
$2.7796
-1.08% -
Tether USDt
$1.0003
-0.01% -
BNB
$686.9959
-1.13% -
Solana
$161.2869
-1.42% -
USDC
$1.0000
0.00% -
Dogecoin
$0.1988
-2.69% -
TRON
$0.3024
-1.32% -
Cardano
$0.7210
-1.42% -
Hyperliquid
$47.5818
2.69% -
Stellar
$0.4268
9.21% -
Sui
$3.4166
-0.47% -
Chainlink
$15.1604
-1.67% -
Bitcoin Cash
$507.0415
-4.79% -
Avalanche
$21.1614
1.24% -
Hedera
$0.2023
0.46% -
UNUS SED LEO
$9.0720
-0.20% -
Shiba Inu
$0.0...01320
-1.82% -
Toncoin
$3.0053
0.05% -
Litecoin
$93.2857
-1.65% -
Polkadot
$3.9237
-1.82% -
Monero
$332.9232
0.17% -
Dai
$0.9999
-0.01% -
Uniswap
$8.4971
-3.64% -
Ethena USDe
$1.0006
-0.02% -
Pepe
$0.0...01234
-1.39% -
Bitget Token
$4.3812
-2.63% -
Aave
$303.0985
0.54% -
Bittensor
$386.9922
-3.20%
スマートコントラクトの上にシンプルなDAPPを構築する方法は?
トリュフ、ガナッシュ、メタマスクをセットアップして、Solidity Smart Contractを使用して単純なイーサリアムDAPPを構築およびテストします。
2025/07/10 16:50

開発環境を設定します
スマートコントラクトの上にシンプルなDAPPの構築を開始するには、まず適切な開発環境を確立する必要があります。 Ethereumベースの開発に最も人気のあるツールの1つは、トリュフで、スマートコントラクトをコンパイル、展開、テストするためのフレームワークを提供します。
- node.jsとnpmをインストールして、JavaScriptパッケージを管理します
npm install -g truffle
実行してトリュフスイートをグローバルに取り付ける- プロジェクトディレクトリで
truffle init
を使用して、新しいプロジェクトを足場にする
トリュフがセットアップされると、テスト目的でローカルブロックチェーンも必要になります。 Ganacheは、Ethereum Networkをローカルでシミュレートする一般的に使用されるツールです。 Ganacheをダウンロードしてインストールし、新しいワークスペースを起動して、テストアカウントとプライベートキーを生成します。
さらに、分散型アプリケーションとの相互作用を可能にするイーサリアムウォレットであるMetamaskを使用して、ブラウザをブロックチェーンに接続します。 Seamless Testingのために、Ganacheが提供するLocal NetworkをMetamaskに追加してください。
基本的なスマートコントラクトを書く
環境の準備が整ったので、基本的なスマートコントラクトを書く時が来ました。 Solidityは、Ethereum Smart Contractsの作成に使用される主要言語です。トリュフで生成されたcontracts
フォルダー内に新しい.sol
ファイルを作成します。
これがサンプル契約です:
pragma solidity ^0.8.0;
契約simplestorage {uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; }
}
この契約は、変数のstoredData
と2つの機能を定義します。1つはその価値を更新し、もう1つはそれを取得するために。 Solidityバージョンが、トリュフの構成で指定されたバージョンと一致していることを確認してください。
契約書を書いた後、 migrations
フォルダーに移行スクリプトを作成します。このスクリプトは、トリュフに契約をブロックチェーンに展開する方法を伝えます。
スマートコントラクトのコンパイルと展開
スマートコントラクトが書かれていると、次のステップはコンパイルして展開することです。ターミナルで、プロジェクトルートに移動して実行します。
-
truffle compile
- これにより、ソリッドコードがイーサリアム仮想マシン(EVM)によって読み取り可能なbytecodeにコンパイルされます truffle migrate
- これにより、Ganacheが管理するローカルブロックチェーンに契約を展開します
移行コマンドを実行する前に、Ganacheが実行されていることを確認してください。展開が成功したことを示すトランザクションログが表示されます。
展開後、コンソールに印刷された契約アドレスに注意してください。このアドレスは、フロントエンドアプリケーションをスマートコントラクトに接続するときに後で使用されます。
また、ガナッシュのトランザクションをチェックするか、トリュフコンソールをtruffle console
で使用し、展開された契約と手動で対話することにより、展開を検証することもできます。
フロントエンドインターフェイスの構築
DAPPのフロントエンドにより、ユーザーはスマートコントラクトと対話できます。 DAPPを構築するための一般的なスタックには、UIおよびWeb3.jsまたはEthers.jsのReact.jsがブロックチェーンインタラクションに含まれます。
Reactアプリを作成することから始めます:
-
npx create-react-app my-dapp
新しいReactプロジェクトを足場にします - Project Directoryに移動し、
npm install web3
またはnpm install ethers
インストールします
次に、スマートコントラクトABI(アプリケーションバイナリインターフェイス)を統合し、アドレスをフロントエンドに統合します。 ABIはコンピレーション中に自動的に生成され、 build/contracts
ディレクトリにあります。
Reactコンポーネントでは、Web3をインポートし、ユーザーのウォレット(メタマスクなど)への接続をインスタンス化します。
import Web3 from 'web3';
const web3 = new web3(window.ethereum);
window.ethereum.enable();
次に、ABIと契約アドレスを使用して、契約インスタンスを作成します。
const contractInstance = new web3.eth.Contract(abi, contractAddress);
このセットアップを使用すると、ボタンハンドラー内のスマートコントラクトからset
を呼び出しget
、画面に結果を表示することができます。
フロントエンドをスマートコントラクトに接続します
契約インスタンスが作成されたら、ユーザーがブラウザを介して直接対話できる機能を実装できます。
たとえば、 get
関数を呼び出すには:
contractInstance.methods.get().call()
.then(result => console.log(result));
set
関数を使用してトランザクションを送信するには:
contractInstance.methods.set(42).send({ from: accountAddress })
.on('transactionHash', hash => console.log(hash));
トランザクションを実行する前に、メタマスクが接続されてロック解除されていることを確認してください。また、ユーザーエクスペリエンスを向上させるためにエラーを優雅に処理します。
UIコンポーネントを更新して、ブロックチェーンに保存されている現在の値を反映し、新しい値を設定するための入力フィールドを許可します。これにより、DAPPの完全に機能的なインターフェイスが作成されます。
npm start
でReactアプリを実行し、ガナッシュとブラウザコンソールの変化を観察しながらボタンと対話することにより、フロー全体をテストします。
よくある質問
DAPPと通常のWebアプリの違いは何ですか?
DAPP(分散型アプリケーション)はブロックチェーンネットワークで動作し、バックエンドロジックにスマートコントラクトを使用しますが、通常のWebアプリは集中サーバーに依存しています。 Dappsは、分散型の性質による透明性、不変性、検閲抵抗を提供します。
スマートコントラクトをローカルに展開するときにガス料金を支払う必要がありますか?
いいえ、ガナッシュなどのローカルブロックチェーンを使用する場合、ガス料金はシミュレートされ、実際のエーテルは必要ありません。トランザクションは実際のコストなしで即座に処理されるため、テストに最適です。
DAPPのフロントエンドに反応する以外に、他のフレームワークを使用できますか?
はい、Vue.js、Angular、またはPlain HTML/CSS/JavaScriptなどのフロントエンドフレームワークを使用できます。重要なのは、Web3プロバイダーを統合し、スマートコントラクトと正しく対話することです。
ローカルブロックチェーンの代わりにDAPPをテストネットに展開することは可能ですか?
はい、より広範なテストのために、Rinkeby、Ropsten、Goerliなどのネットワークに展開できます。これらのネットワークに関連する蛇口から入手できるテストエーテルが必要です。トリュフの構成には、正しいネットワーク設定とニーモニックが含まれていることを確認してください。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- 誇大広告トークン&ハイパーリキッド:オープンな関心を持ってdefi波に乗る
- 2025-07-13 16:30:16
- Unilabs Financeが中心的なステージになります:PepecoinとFloki Inuをほこりに残しますか?
- 2025-07-13 16:30:16
- Crypto Investors BlockChainFXのミームコインを捨てる:スマートマネーの動き?
- 2025-07-13 17:05:16
- ビットコイン、インドの投資家、および税申告:暗号ブームのナビゲート
- 2025-07-13 17:05:16
- Ethereumの抵抗レベル:強気信号は、潜在的なブレイクアウトを指します
- 2025-07-13 17:05:17
- クジラウォッチング:XRPの歴史的な高値とクジラの制御因子
- 2025-07-13 17:05:17
関連知識

取引の心理学Bitcoin契約
2025-07-13 02:50:00
Bitcoin先物取引の感情的なジェットコースターを理解するBitcoin契約取引は、特に先物の形で、トレーダーの心理的状態に大きな影響を与える可能性のある高レベルのボラティリティとレバレッジを導入します。実際のBitcoinを売買するスポット取引とは異なり、先物契約により、トレーダーは基礎となる資...

契約Bitcoin契約を取引するのに最適な時期?
2025-07-13 05:29:09
Bitcoin契約とそのボラティリティを理解するBitcoin契約、特に先物契約は、基礎となる資産を所有せずにBitcoinの将来の価格についてトレーダーが推測できるようにするデリバティブ手段です。これらの契約はBitcoinのスポット価格から価値を引き出し、Binance、Bybit、OKXなどの...

Bitcoin契約取引でフィボナッチレベルを使用する方法は?
2025-07-13 08:07:30
取引におけるフィボナッチレベルの理解Fibonacciレベルは、潜在的なサポートゾーンとレジスタンスゾーンを特定するためにトレーダーが使用するテクニカル分析ツールです。これらのレベルは、フィボナッチ配列から導き出されます。これは、各数値が先行する2つの合計(0、1、1、2、3、5、8、8、13など)...

Bitcoin先物用語構造を理解する
2025-07-13 08:28:37
Bitcoin先物用語構造とは何ですか? Bitcoin先物用語構造とは、異なる有効期限を持つBitcoin先物契約の価格間の関係を指します。この概念は、Bitcoinの将来の価格の動き、ボラティリティ、感情、資金調達コストに関する市場の期待を理解しようとするトレーダーや投資家にとって重要です。従来...

Bitcoin先物の取引時間は何ですか?
2025-07-13 12:14:34
Bitcoin先物取引時間の理解Bitcoin先物は、基礎となる資産を所有せずにBitcoinの将来の価格をトレーダーが推測できるようにする派生契約です。 Bitcoin先物の取引時間は、これらの契約を提供する交換またはプラットフォームによって異なります。通常、特定の平日に運営されている従来の株式市...

先物口座から利益を引き出す方法は?
2025-07-13 07:07:22
先物アカウントと撤退力学の理解暗号通貨スペースでは、先物アカウントは、BitcoinやEthereumなどの基礎となる資産から価値を引き出す契約を取引するために使用されます。これらのアカウントにより、トレーダーは実際のデジタル資産を所有せずに価格の動きについて推測することができます。利益の撤回に関し...

取引の心理学Bitcoin契約
2025-07-13 02:50:00
Bitcoin先物取引の感情的なジェットコースターを理解するBitcoin契約取引は、特に先物の形で、トレーダーの心理的状態に大きな影響を与える可能性のある高レベルのボラティリティとレバレッジを導入します。実際のBitcoinを売買するスポット取引とは異なり、先物契約により、トレーダーは基礎となる資...

契約Bitcoin契約を取引するのに最適な時期?
2025-07-13 05:29:09
Bitcoin契約とそのボラティリティを理解するBitcoin契約、特に先物契約は、基礎となる資産を所有せずにBitcoinの将来の価格についてトレーダーが推測できるようにするデリバティブ手段です。これらの契約はBitcoinのスポット価格から価値を引き出し、Binance、Bybit、OKXなどの...

Bitcoin契約取引でフィボナッチレベルを使用する方法は?
2025-07-13 08:07:30
取引におけるフィボナッチレベルの理解Fibonacciレベルは、潜在的なサポートゾーンとレジスタンスゾーンを特定するためにトレーダーが使用するテクニカル分析ツールです。これらのレベルは、フィボナッチ配列から導き出されます。これは、各数値が先行する2つの合計(0、1、1、2、3、5、8、8、13など)...

Bitcoin先物用語構造を理解する
2025-07-13 08:28:37
Bitcoin先物用語構造とは何ですか? Bitcoin先物用語構造とは、異なる有効期限を持つBitcoin先物契約の価格間の関係を指します。この概念は、Bitcoinの将来の価格の動き、ボラティリティ、感情、資金調達コストに関する市場の期待を理解しようとするトレーダーや投資家にとって重要です。従来...

Bitcoin先物の取引時間は何ですか?
2025-07-13 12:14:34
Bitcoin先物取引時間の理解Bitcoin先物は、基礎となる資産を所有せずにBitcoinの将来の価格をトレーダーが推測できるようにする派生契約です。 Bitcoin先物の取引時間は、これらの契約を提供する交換またはプラットフォームによって異なります。通常、特定の平日に運営されている従来の株式市...

先物口座から利益を引き出す方法は?
2025-07-13 07:07:22
先物アカウントと撤退力学の理解暗号通貨スペースでは、先物アカウントは、BitcoinやEthereumなどの基礎となる資産から価値を引き出す契約を取引するために使用されます。これらのアカウントにより、トレーダーは実際のデジタル資産を所有せずに価格の動きについて推測することができます。利益の撤回に関し...
すべての記事を見る
