Rumah hujung hadapan web View.js Panduan untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript

Panduan untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript

Jul 30, 2023 pm 03:18 PM
javascript kontrak pintar vuejs

Panduan untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript

Pengenalan:
Dengan pembangunan teknologi blockchain, Ethereum, sebagai platform kontrak pintar, menyediakan kemudahan yang hebat kepada pembangun. Vue.js, sebagai rangka kerja JavaScript yang popular, menyediakan pembangun dengan sokongan teknikal bahagian hadapan yang berkuasa. Artikel ini akan memberikan panduan tentang cara menggunakan Vue.js dan JavaScript untuk membangunkan kontrak pintar dan aplikasi blockchain, dengan contoh kod.

  1. Persediaan alam sekitar
    Sebelum memulakan pembangunan, kita perlu memastikan persiapan persekitaran setempat telah selesai. Mula-mula, pasang Node.js dan npm (pengurus pakej Node.js), anda boleh memuat turun dan memasang versi terkini daripada tapak web rasmi. Kemudian, jalankan arahan berikut melalui alat baris arahan untuk mengesahkan bahawa pemasangan berjaya:
node -v
npm -v
Salin selepas log masuk
  1. Cipta projek Vue.js
    Kami akan menggunakan alat baris arahan Vue CLI untuk mencipta projek Vue.js baharu. Buka alat baris arahan dan jalankan arahan berikut:
npm install -g @vue/cli
vue create blockchain-app
cd blockchain-app
Salin selepas log masuk

Arahan di atas akan memasang Vue CLI secara global dan mencipta projek Vue.js baharu dalam folder projek. Kemudian tukar ke folder projek.

  1. Pasang web3.js
    Untuk berinteraksi dengan blockchain Ethereum, kita perlu menggunakan perpustakaan web3.js. Jalankan arahan berikut untuk memasang web3.js:
npm install web3
Salin selepas log masuk
  1. Sambung ke rantaian Ethereum
    Buat contoh web3 dalam Vuex untuk menyambung ke rantaian Ethereum. Buka fail src/store/index.js dan import web3 di bahagian atas fail: src/store/index.js文件,并在文件顶部导入web3:
import Web3 from 'web3';
Salin selepas log masuk

然后,在Vuex的state中添加一个名为web3的属性,并将其设置为null:

state: {
  web3: null
},
Salin selepas log masuk

接下来,在mutations中添加一个名为registerWeb3的方法,该方法将负责创建web3实例并将其存储在Vuex的state中:

mutations: {
  registerWeb3(state, payload) {
    state.web3 = payload.web3;
  }
},
Salin selepas log masuk

最后,在actions中添加一个名为initWeb3的方法,该方法将负责连接到以太坊区块链并调用registerWeb3方法:

actions: {
  initWeb3({ commit }) {
    if (typeof web3 !== 'undefined') {
      web3 = new Web3(web3.currentProvider);
      commit('registerWeb3', { web3 });
    } else {
      console.error('No web3 provider detected');
    }
  }
},
Salin selepas log masuk
  1. 智能合约交互
    接下来,我们将在Vue组件中调用智能合约的方法并与以太坊区块链进行交互。在Vue组件中创建一个名为contract的属性,并在created生命周期钩子中调用智能合约的方法:
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');
    }
  }
}
Salin selepas log masuk

在上述代码中,我们首先导入智能合约的ABI(Application Binary Interface)和地址。然后,在created生命周期钩子中,我们使用这些信息创建一个新的智能合约实例。

在Vue组件的methods中,我们定义了两个方法:getContractDatasetContractData,用于调用智能合约的方法并与以太坊区块链进行交互。

  1. 代码示例
    最后,我们在Vue组件的模板中使用按钮来调用智能合约的方法。编辑src/views/Home.vue文件并添加以下代码:
<template>
  <div>
    <button @click="getContractData">Get Data</button>
    <button @click="setContractData">Set Data</button>
  </div>
</template>
Salin selepas log masuk

以上代码在Vue组件的模板中添加了两个按钮,分别调用getContractDatasetContractData

// 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');
      }
    }
  }
}
Salin selepas log masuk

Kemudian, tambahkan fail bernama web3 dalam <code>state</code Vuex > 's property dan tetapkannya kepada null:

// 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');
    }
  }
}
Salin selepas log masuk
Seterusnya, tambahkan kaedah bernama registerWeb3 dalam mutation, yang akan bertanggungjawab untuk mencipta contoh web3 dan simpannya dalam state Vuex:

rrreee

Akhir sekali, tambahkan kaedah yang dipanggil initWeb3 dalam actions, yang Kaedah ini akan bertanggungjawab untuk menyambung ke blockchain Ethereum dan memanggil kaedah registerWeb3:

rrreee

    Interaksi Kontrak Pintar🎜Seterusnya, kami akan memanggil kontrak pintar dalam kaedah komponen Vue dan berinteraksi dengan blockchain Ethereum. Buat sifat bernama contract dalam komponen Vue, dan panggil kaedah kontrak pintar dalam cangkuk kitaran hayat dicipta: 🎜🎜rrreee🎜Dalam kod di atas, kami terlebih dahulu Import ABI (Antara Muka Binari Aplikasi) dan alamat kontrak pintar. Kemudian, dalam cangkuk kitar hayat dibuat, kami menggunakan maklumat ini untuk mencipta contoh kontrak pintar baharu. 🎜🎜Dalam kaedah komponen Vue, kami mentakrifkan dua kaedah: getContractData dan setContractData, yang digunakan untuk memanggil kaedah kontrak pintar dan berinteraksi dengan mereka. 🎜
      🎜Contoh kod🎜Akhir sekali, kami menggunakan butang dalam templat komponen Vue untuk memanggil kaedah kontrak pintar. Edit fail src/views/Home.vue dan tambahkan kod berikut: 🎜🎜rrreee🎜Kod di atas menambah dua butang pada templat komponen Vue, memanggil getContractData dan kaedah setContractData. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan panduan untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript. Kami mula-mula menyediakan persekitaran pembangunan dan mencipta projek Vue.js baharu. Kemudian, sambungkan ke blockchain Ethereum melalui perpustakaan web3.js, dan hubungi kaedah kontrak pintar dalam komponen Vue dan berinteraksi dengan blockchain. Melalui panduan ini, pembangun sudah mempunyai pengetahuan dan kemahiran asas untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript. 🎜🎜Lampiran: Contoh kod lengkap🎜rrreeerrreee🎜Saya harap artikel ini akan membantu pemula yang menggunakan Vue.js dan JavaScript untuk membangunkan kontrak pintar dan aplikasi blockchain. Pembelajaran dan pembangunan selanjutnya boleh dijalankan mengikut keperluan sebenar. 🎜

Atas ialah kandungan terperinci Panduan untuk membangunkan kontrak pintar dan aplikasi blockchain menggunakan Vue.js dan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

Solana melancarkan Jam Tayangan jam pintar AI? Adakah terdapat airdrop untuk harga pra-pesanan 3SOL? Solana melancarkan Jam Tayangan jam pintar AI? Adakah terdapat airdrop untuk harga pra-pesanan 3SOL? Jun 08, 2024 pm 05:31 PM

Laman web ini (120btC.coM): Selepas Solana secara rasmi melancarkan telefon bimbit blockchain Saga dan membawa gelombang kekayaan airdrop, rangkaian awam utama juga telah mewarisi gelombang ini secara berturut-turut, dan pelbagai telefon mudah alih blockchain telah dilahirkan. Baru-baru ini, jam tangan pintar yang dibina khas untuk ekosistem Solana telah menarik perhatian masyarakat Cina. Selepas siasatan, didapati bahawa jam tangan pintar ini, yang dipanggil "Showtime", telah dilancarkan oleh komuniti dan bukannya secara rasmi Ia kini dibuka untuk pra-pesanan pada 30 Mei minggu ini, berharga 3SOL (kira-kira AS$498), dan Saga. Harga telefon dekat. Masa Tayangan: Jam tangan pintar AI Menurut catatan oleh Hong Kong Web3 media sendiri Monsterblockhk.eth, Show

Binance melancarkan akaun bersatu! Buka 350 jenis kontrak perdagangan aset gadai janji Binance melancarkan akaun bersatu! Buka 350 jenis kontrak perdagangan aset gadai janji Apr 04, 2024 pm 12:49 PM

Menurut pengumuman terbaharu, laman web ini (120BTc.com): Binance, bursa mata wang kripto terbesar di dunia, telah mengeluarkan pengumuman semalam (ke-3) bahawa Binance akan menyediakan leverage silang silang dan baki dompet kontrak untuk pengguna biasa dengan sekurang-kurangnya 100,000 USDT. Selain pengguna VIP, "Akaun Bersepadu Binance" dibuka, membenarkan pengguna menggunakan lebih daripada 350 jenis aset gadai janji untuk berdagang kontrak berasaskan U dan produk margin silang melalui akaun ini. Pada masa yang sama, urus niaga kontrak berasaskan mata wang, produk margin silang dan produk margin silang akan disatukan ke dalam akaun ini untuk memudahkan transaksi dan pengurusan pengguna. Bagaimana untuk mengaktifkan "Akaun Bersatu Binance"? Syarat pengaktifan Untuk membuka atau menutup akaun bersatu, pengguna mesti memenuhi syarat berikut: Akaun margin (margin silang): tiada pinjaman, pesanan tidak diisi, kedudukan atau baki negatif

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 am 09:39 AM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Dec 17, 2023 pm 05:13 PM

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Bitcoin menembusi $51,000! Minat terbuka mencecah 21 bilion, menghampiri kemuncak pasaran kenaikan harga pada 2021 Bitcoin menembusi $51,000! Minat terbuka mencecah 21 bilion, menghampiri kemuncak pasaran kenaikan harga pada 2021 Feb 15, 2024 am 08:00 AM

Menurut data dari Lookonchain, sejak Bitcoin Spot ETF mula berdagang, Bitcoin telah menjadi produk yang sangat diperhatikan di pasaran. Sehingga semalam, ETF spot Bitcoin telah menarik aliran masuk sebanyak 71,584 Bitcoin. Pada sekitar jam 17:00 tengah hari ini, harga spot Bitcoin sekali lagi melebihi $51,000. Aliran masuk ETF spot Bitcoin terus meningkat Terutamanya semalam, Bitcoin ETF di Amerika Syarikat menambah 10,926 Bitcoin, yang merupakan hari kelima berturut-turut aliran masuk. Sebagai tambahan kepada GBTC, lapan ETF yang lain telah mengumpul sejumlah 12,073 BTC, bernilai kira-kira AS$590 juta. Walau bagaimanapun, GBTC kehilangan 1,147 BTC, bernilai kira-kira $56 juta. Mulai 22 Januari,

See all articles