Vue.js と JavaScript を使用したスマート コントラクトとブロックチェーン アプリケーションの開発ガイド
はじめに:
ブロックチェーン テクノロジーの発展に伴い、イーサリアムはスマート コントラクト プラットフォームとして開発用のプラットフォームを提供します。スタッフは素晴らしい利便性を提供してくれました。 Vue.js は、人気のある JavaScript フレームワークとして、開発者に強力なフロントエンド技術サポートを提供します。この記事では、Vue.js と JavaScript を使用してスマート コントラクトとブロックチェーン アプリケーションを開発する方法について、コード例とともにガイドを提供します。
node -v npm -v
npm install -g @vue/cli vue create blockchain-app cd blockchain-app
上記のコマンドは、Vue CLI をグローバルにインストールし、プロジェクト フォルダーに新しい Vue.js プロジェクトを作成します。次に、プロジェクトフォルダーに切り替えます。
npm install web3
src/store/index.js
ファイルを開き、ファイルの先頭に web3 をインポートします。 import Web3 from 'web3';
次に、web3## のプロパティという名前のファイルを追加します。 # そして null に設定します:
state: { web3: null },
次に、
mutations に registerWeb3 という名前のメソッドを追加します。このメソッドは、web3 インスタンスの作成と保存を担当します。 Vuex の
state:
mutations: { registerWeb3(state, payload) { state.web3 = payload.web3; } },
最後に、
actions ## メソッドに initWeb3# というファイルを追加します。これは、イーサリアム ブロックチェーンへの接続を担当し、 registerWeb3
メソッドの呼び出し: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:javascript;toolbar:false;'>actions: {
initWeb3({ commit }) {
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
commit('registerWeb3', { web3 });
} else {
console.error('No web3 provider detected');
}
}
},</pre><div class="contentsignin">ログイン後にコピー</div></div>
スマート コントラクト インタラクション
次に、コンポーネントはスマート コントラクトのメソッドを呼び出し、Ethereum ブロックチェーンと対話します。 Vue コンポーネントで
import contractABI from '@/contracts/ContractABI.json'; import contractAddress from '@/contracts/ContractAddress.json'; export default { data() { return { contract: null }; }, created() { this.contract = new web3.eth.Contract(contractABI, contractAddress); }, methods: { async getContractData() { const result = await this.contract.methods.getData().call(); console.log(result); }, async setContractData() { await this.contract.methods.setData('Hello, blockchain!').send({ from: web3.eth.defaultAccount }); console.log('Transaction completed'); } } }
上記のコードでは、まず、ABI (アプリケーション バイナリ インターフェイス) とスマート コントラクトのアドレスをインポートします。次に、
createdVue コンポーネントの methods
では、スマート コントラクト メソッドを呼び出すために使用される
と setContractData
という 2 つのメソッドを定義します。イーサリアムブロックチェーンと対話します。 コード例
最後に、Vue コンポーネントのテンプレートのボタンを使用して、スマート コントラクト メソッドを呼び出します。
<template> <div> <button @click="getContractData">Get Data</button> <button @click="setContractData">Set Data</button> </div> </template>
上記のコードは、Vue コンポーネントのテンプレートに 2 つのボタンを追加し、
を呼び出します。それぞれ getContractData メソッド。 概要:
この記事では、Vue.js と JavaScript を使用してスマート コントラクトとブロックチェーン アプリケーションを開発するためのガイドを紹介します。まず開発環境を準備し、新しい Vue.js プロジェクトを作成しました。次に、web3.js ライブラリを通じて Ethereum ブロックチェーンに接続し、Vue コンポーネントでスマート コントラクトのメソッドを呼び出してブロックチェーンと対話します。このガイドを通じて、開発者は Vue.js と JavaScript を使用してスマート コントラクトとブロックチェーン アプリケーションを開発するための基本的な知識とスキルをすでに習得しています。
// src/store/index.js import Web3 from 'web3'; export default { state: { web3: null }, mutations: { registerWeb3(state, payload) { state.web3 = payload.web3; } }, actions: { initWeb3({ commit }) { if (typeof web3 !== 'undefined') { web3 = new Web3(web3.currentProvider); commit('registerWeb3', { web3 }); } else { console.error('No web3 provider detected'); } } } }
// src/views/Home.vue import contractABI from '@/contracts/ContractABI.json'; import contractAddress from '@/contracts/ContractAddress.json'; export default { data() { return { contract: null }; }, created() { this.contract = new web3.eth.Contract(contractABI, contractAddress); }, methods: { async getContractData() { const result = await this.contract.methods.getData().call(); console.log(result); }, async setContractData() { await this.contract.methods.setData('Hello, blockchain!').send({ from: web3.eth.defaultAccount }); console.log('Transaction completed'); } } }
以上がVue.js と JavaScript を使用してスマート コントラクトとブロックチェーン アプリケーションを開発するためのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。