-
Bitcoin
$111,147.3535
2.24% -
Ethereum
$2,780.1612
6.41% -
Tether USDt
$1.0003
0.02% -
XRP
$2.4496
4.92% -
BNB
$671.7477
1.75% -
Solana
$158.2236
3.67% -
USDC
$1.0001
0.01% -
TRON
$0.2905
1.18% -
Dogecoin
$0.1820
6.20% -
Cardano
$0.6308
6.33% -
Hyperliquid
$41.7538
6.98% -
Sui
$3.2318
10.32% -
Bitcoin Cash
$516.5255
2.27% -
Chainlink
$14.3829
2.28% -
Stellar
$0.2959
10.48% -
UNUS SED LEO
$8.9722
-1.62% -
Avalanche
$19.5440
6.55% -
Hedera
$0.1790
8.60% -
Shiba Inu
$0.0...01261
5.77% -
Toncoin
$2.8865
3.03% -
Litecoin
$90.9074
3.67% -
Monero
$325.1813
0.54% -
Polkadot
$3.6795
5.78% -
Dai
$1.0001
0.01% -
Ethena USDe
$1.0008
0.03% -
Uniswap
$8.3018
6.95% -
Bitget Token
$4.4291
2.12% -
Pepe
$0.0...01108
8.73% -
Aave
$295.8359
-0.74% -
Pi
$0.4766
3.21%
スマートコントラクトの上にシンプルな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) までご連絡ください。速やかに削除させていただきます。
- DNAコイン、バイオテクノロジーストリーミング、および実世界の資産:新しいフロンティア?
- 2025-07-10 22:30:13
- トランスク、誇大広告トークン、および高脂質生態系:深いダイビング
- 2025-07-10 23:10:13
- Gasless L2 Revolution:Status Networkの持続可能な資金調達モデル
- 2025-07-10 23:10:13
- SPX6900とミームコインマニア:暗号波に乗る
- 2025-07-10 23:30:13
- FTX債権者、破産主張:カムバックストーリー?
- 2025-07-10 22:50:12
- Bit MiningのSolana Shift:Token Treasuriesの新しい時代?
- 2025-07-10 22:50:12
関連知識

短い先物のポジションのPNLを推定するにはどうすればよいですか?
2025-07-10 17:00:59
先物取引とPNLの基本を理解する先物取引では、トレーダーは、将来指定された時間に所定の価格で資産を売買する契約を締結します。あなたが短い先物のポジションをとるとき、あなたは本質的に基礎となる資産の価格が下落することを賭けています。あなたの利益と損失(PNL)は、市場があなたの初期エントリー価格に対し...

最も一般的なスマートコントラクトデザインパターンは何ですか?
2025-07-10 21:29:07
スマートコントラクトの設計パターンの紹介スマートコントラクトの設計パターンは、ブロックチェーンベースのアプリケーションの開発中に発生した繰り返しの問題に対する標準化されたソリューションです。これらのパターンは、開発者が安全で効率的で保守可能な方法でコードを構築するのに役立ちます。 Ethereumお...

スマート契約におけるコミットレビールスキームとは何ですか?
2025-07-10 17:22:03
コミットレビールスキームの概念を理解するブロックチェーンとスマートコントラクトの領域では、特に投票、オークション、または宝くじを含む分散型アプリケーション(DAPP)において、プライバシーと公平性が重大な懸念事項であることがよくあります。コミットリビールスキームは、参加者がすぐにそれを明らかにするこ...

スマートコントラクトはオフチェーンAPIと対話できますか?
2025-07-10 21:42:30
スマートコントラクトとは何ですか?スマート契約とは、コードのラインに直接書かれた契約の条件との自己実行契約です。これらの契約は、Ethereumのようなブロックチェーンプラットフォームで実行され、所定の条件が満たされたときにアクションを自動的に実行します。分散ネットワークで動作しているため、スマート...

Altcoinsの暗号先物はありますか?
2025-07-10 23:14:18
暗号蛇口とは何ですか?それはどのように機能しますか? Crypto Faucetは、単純なタスクを完了するために少量の暗号通貨をユーザーに報いるオンラインプラットフォームまたはアプリケーションです。これらのタスクには、通常、広告の監視、キャプチャの解決、リンクのクリック、または短い調査への関与が含ま...

Crypto Futuresの注文書を読む方法は?
2025-07-10 23:49:25
Crypto Futures Order Bookの基本を理解するCrypto Futuresの注文帳を効果的に読むには、そのコアコンポーネントを理解することが不可欠です。注文書は、特定の暗号通貨先物契約のすべてのオープン購入および販売注文を表示するリアルタイム元帳です。各エントリは、トレーダーが特...

短い先物のポジションのPNLを推定するにはどうすればよいですか?
2025-07-10 17:00:59
先物取引とPNLの基本を理解する先物取引では、トレーダーは、将来指定された時間に所定の価格で資産を売買する契約を締結します。あなたが短い先物のポジションをとるとき、あなたは本質的に基礎となる資産の価格が下落することを賭けています。あなたの利益と損失(PNL)は、市場があなたの初期エントリー価格に対し...

最も一般的なスマートコントラクトデザインパターンは何ですか?
2025-07-10 21:29:07
スマートコントラクトの設計パターンの紹介スマートコントラクトの設計パターンは、ブロックチェーンベースのアプリケーションの開発中に発生した繰り返しの問題に対する標準化されたソリューションです。これらのパターンは、開発者が安全で効率的で保守可能な方法でコードを構築するのに役立ちます。 Ethereumお...

スマート契約におけるコミットレビールスキームとは何ですか?
2025-07-10 17:22:03
コミットレビールスキームの概念を理解するブロックチェーンとスマートコントラクトの領域では、特に投票、オークション、または宝くじを含む分散型アプリケーション(DAPP)において、プライバシーと公平性が重大な懸念事項であることがよくあります。コミットリビールスキームは、参加者がすぐにそれを明らかにするこ...

スマートコントラクトはオフチェーンAPIと対話できますか?
2025-07-10 21:42:30
スマートコントラクトとは何ですか?スマート契約とは、コードのラインに直接書かれた契約の条件との自己実行契約です。これらの契約は、Ethereumのようなブロックチェーンプラットフォームで実行され、所定の条件が満たされたときにアクションを自動的に実行します。分散ネットワークで動作しているため、スマート...

Altcoinsの暗号先物はありますか?
2025-07-10 23:14:18
暗号蛇口とは何ですか?それはどのように機能しますか? Crypto Faucetは、単純なタスクを完了するために少量の暗号通貨をユーザーに報いるオンラインプラットフォームまたはアプリケーションです。これらのタスクには、通常、広告の監視、キャプチャの解決、リンクのクリック、または短い調査への関与が含ま...

Crypto Futuresの注文書を読む方法は?
2025-07-10 23:49:25
Crypto Futures Order Bookの基本を理解するCrypto Futuresの注文帳を効果的に読むには、そのコアコンポーネントを理解することが不可欠です。注文書は、特定の暗号通貨先物契約のすべてのオープン購入および販売注文を表示するリアルタイム元帳です。各エントリは、トレーダーが特...
すべての記事を見る
