-
Bitcoin
$117,034.3869
-0.37% -
Ethereum
$2,909.6404
-2.56% -
Tether USDt
$1.0003
0.02% -
XRP
$2.6707
-8.19% -
BNB
$680.8549
-1.62% -
Solana
$158.3708
-3.72% -
USDC
$0.9999
0.01% -
Dogecoin
$0.1923
-7.23% -
TRON
$0.2979
-0.63% -
Cardano
$0.6918
-9.31% -
Hyperliquid
$45.5101
-0.64% -
Stellar
$0.3744
-0.85% -
Sui
$3.3196
-6.29% -
Bitcoin Cash
$504.1748
-5.54% -
Chainlink
$14.7427
-6.83% -
Avalanche
$20.2210
-5.79% -
UNUS SED LEO
$9.0450
0.52% -
Hedera
$0.1916
-7.79% -
Shiba Inu
$0.0...01286
-6.93% -
Toncoin
$2.9075
-3.09% -
Litecoin
$90.9255
-7.20% -
Polkadot
$3.8145
-6.43% -
Monero
$326.3519
0.02% -
Dai
$0.9998
0.00% -
Ethena USDe
$1.0003
-0.03% -
Uniswap
$8.1944
-7.54% -
Bitget Token
$4.3373
-4.70% -
Pepe
$0.0...01188
-7.58% -
Aave
$293.9024
-5.44% -
Pi
$0.4591
-7.61%
スマートコントラクトの上にシンプルな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) までご連絡ください。速やかに削除させていただきます。
- Ethereumの価格予測:ETHは100%の利益に達しますか?
- 2025-07-13 04:50:12
- Ruvi AI:Avalancheよりも賢い選択?さらに、監査されています!
- 2025-07-13 04:50:12
- onyxcoin(xcn):この暗号サイクルでアウトパフォームする準備はできましたか?
- 2025-07-13 04:30:12
- Gamefi、規制、アジア:Web3ゲームの新しい時代?
- 2025-07-13 04:30:12
- XRPアナリストがすべて入ります:6ドルは避けられませんか?
- 2025-07-13 05:10:12
- ケニアの暗号戦略:デジタルトークンとブロックチェーンのイノベーションを受け入れます
- 2025-07-13 05:15:12
関連知識

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

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

KYCはBitcoin先物取引に必須ですか?
2025-07-12 22:56:32
Bitcoin先物取引のコンテキストでKYCを理解するKnow Your Customer(KYC)は、金融機関とサービスプロバイダーがクライアントの身元を確認するために使用する規制要件です。暗号通貨の領域では、特にBitcoin先物取引を提供するプラットフォームでは、KYCの手順がますます一般的に...

Bitcoin先物を紙貿易する方法は?
2025-07-13 02:15:05
Bitcoin先物の基本を理解するBitcoin先物は、基礎となる資産を所有せずにBitcoinの将来の価格についてトレーダーが推測できるようにする金融契約です。これらの契約は、将来の所定の価格と日付で、特定の量のBitcoinを購入者に購入することを義務付けています。紙取引は、仮想資金を使用して実...

Bitcoin契約は初心者に適していますか?
2025-07-12 20:14:42
Bitcoin契約の理解Bitcoin契約は、しばしばBitcoin先物または永続的な契約と呼ばれ、実際の資産を所有せずにBitcoinの価格についてトレーダーが推測できるようにする財務デリバティブです。これらの契約は、Bitcoinの基礎となる価格から価値を引き出し、Binance、Bybit、K...

孤立したマージンとクロスマージンとは何ですか?
2025-07-12 16:01:06
暗号通貨取引のマージンを理解する暗号通貨取引では、マージンとは、レバレッジされたポジションを開設して維持するために、トレーダーが預金しなければならない資金の量を指します。レバレッジされた取引により、トレーダーはブローカーや交換から資本を借りて潜在的なリターンを増やすことができますが、リスクも高まりま...

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

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

KYCはBitcoin先物取引に必須ですか?
2025-07-12 22:56:32
Bitcoin先物取引のコンテキストでKYCを理解するKnow Your Customer(KYC)は、金融機関とサービスプロバイダーがクライアントの身元を確認するために使用する規制要件です。暗号通貨の領域では、特にBitcoin先物取引を提供するプラットフォームでは、KYCの手順がますます一般的に...

Bitcoin先物を紙貿易する方法は?
2025-07-13 02:15:05
Bitcoin先物の基本を理解するBitcoin先物は、基礎となる資産を所有せずにBitcoinの将来の価格についてトレーダーが推測できるようにする金融契約です。これらの契約は、将来の所定の価格と日付で、特定の量のBitcoinを購入者に購入することを義務付けています。紙取引は、仮想資金を使用して実...

Bitcoin契約は初心者に適していますか?
2025-07-12 20:14:42
Bitcoin契約の理解Bitcoin契約は、しばしばBitcoin先物または永続的な契約と呼ばれ、実際の資産を所有せずにBitcoinの価格についてトレーダーが推測できるようにする財務デリバティブです。これらの契約は、Bitcoinの基礎となる価格から価値を引き出し、Binance、Bybit、K...

孤立したマージンとクロスマージンとは何ですか?
2025-07-12 16:01:06
暗号通貨取引のマージンを理解する暗号通貨取引では、マージンとは、レバレッジされたポジションを開設して維持するために、トレーダーが預金しなければならない資金の量を指します。レバレッジされた取引により、トレーダーはブローカーや交換から資本を借りて潜在的なリターンを増やすことができますが、リスクも高まりま...
すべての記事を見る
