Terokai persimpangan JavaScript dan teknologi blockchain
Dalam beberapa tahun kebelakangan ini, teknologi blockchain telah mendapat perhatian yang meluas dan telah merevolusikan pelbagai industri. Pada asasnya, blockchain ialah lejar terpencar, tidak berubah dan telus yang merekodkan urus niaga merentas berbilang komputer. JavaScript adalah salah satu bahasa pengaturcaraan yang popular apabila membangunkan aplikasi blockchain. Dalam artikel ini, kami akan menyelam lebih dalam ke persimpangan JavaScript dan teknologi blockchain, meneroka cara menggunakan JavaScript untuk berinteraksi dan membangunkan aplikasi pada blockchain.
JavaScript dan Blockchain: gabungan hebat
Terkenal dengan kepelbagaian dan penggunaan yang meluas, JavaScript telah menjadi bahasa pilihan untuk membina aplikasi web. Keupayaannya untuk dijalankan pada kedua-dua bahagian pelayan dan klien menjadikannya ideal untuk mencipta antara muka pengguna yang dinamik dan interaktif. Selain itu, sokongan JavaScript untuk pengaturcaraan tak segerak dan ekosistem perpustakaannya yang luas menjadikannya sesuai untuk pembangunan blockchain.
Teknologi Blockchain seperti Ethereum menyediakan platform untuk mencipta aplikasi terdesentralisasi (dApps). DApps ini selalunya memerlukan kontrak pintar, yang merupakan kontrak laksana sendiri dengan peraturan dan syarat yang telah ditetapkan. JavaScript boleh digunakan untuk berinteraksi dengan kontrak pintar, membolehkan pembangun membina aplikasi yang kompleks dan terdesentralisasi dengan mudah.
Berinteraksi dengan kontrak pintar menggunakan JavaScript
Mari kita lihat dengan lebih dekat cara JavaScript berinteraksi dengan kontrak pintar pada blockchain Ethereum. Dalam demonstrasi ini, kami akan menggunakan perpustakaan web3.js, perpustakaan JavaScript yang popular untuk berinteraksi dengan Ethereum.
Mula-mula, anda perlu memasang Node.js dan npm (pengurus pakej nod) pada komputer anda. Setelah persediaan selesai, sila ikuti langkah di bawah−
Langkah 1: Pasang web3.js
Buka terminal dan navigasi ke direktori projek. Jalankan arahan berikut untuk memasang web3.js −
npm install web3
Langkah 2: Sambung ke Rangkaian Ethereum
Dalam fail JavaScript, import perpustakaan web3 dan buat contoh kelas Web3. Anda juga perlu menentukan URL pembekal, yang menentukan rangkaian Ethereum yang anda ingin sambungkan. Dalam contoh ini kami akan menggunakan perkhidmatan Infura untuk menyambung ke mainnet Ethereum -
const Web3 = require('web3'); const providerURL = 'https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY'; const web3 = new Web3(providerURL);
NOTA- Gantikan YOUR_INFURA_API_KEY dengan kunci API Infura sebenar anda. Jika anda belum memilikinya, daftar secara percuma di laman web Infura.
Langkah 3: Berinteraksi dengan kontrak pintar
Untuk berinteraksi dengan kontrak pintar, anda memerlukan alamat kontrak dan ABI (Antara Muka Binari Aplikasi). ABI mentakrifkan struktur dan kefungsian kontrak pintar. Dalam contoh ini kita akan menggunakan kontrak pintar mudah untuk menyimpan dan mendapatkan semula nilai −
const contractAddress = '0xContractAddress'; const contractABI = [ { "constant": true, "inputs": [], "name": "getValue", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newValue", "type": "uint256" } ], "name": "setValue", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ];
Ganti 0xContractAddress dengan alamat sebenar kontrak pintar anda yang digunakan. Anda boleh mendapatkan ABI kontrak melalui kod sumber kontrak pintar atau alatan seperti Etherscan.
Langkah 4: Buat contoh kontrak
Sekarang, buat contoh kontrak menggunakan alamat kontrak dan ABI −
const contract = new web3.eth.Contract(contractABI, contractAddress);
Langkah 5: Berinteraksi dengan fungsi kontrak
Anda boleh menggunakan contoh kontrak untuk memanggil fungsi pada kontrak pintar. Mari dapatkan semula nilai semasa yang disimpan dalam kontrak −
contract.methods.getValue().call((error, result) => { if (error) { console.error(error); } else { console.log('Contract value:', result); } });
Fungsi getValue() ialah fungsi pandangan, yang bermaksud ia tidak mengubah suai keadaan rantaian blok dan boleh dipanggil tanpa dikenakan sebarang bayaran gas. Ia mendapatkan semula nilai semasa yang disimpan dalam kontrak dan mengembalikannya dalam pembolehubah hasil.
Untuk mengubah suai nilai kontrak, anda boleh memanggil fungsi tulis. Jom kemas kini nilai dalam kontrak−
Contoh
const newValue = 42; contract.methods.setValue(newValue).send({ from: '0xYourAddress' }) .on('receipt', (receipt) => { console.log('Transaction receipt:', receipt); }) .on('error', (error) => { console.error('Transaction error:', error); });
Arahan
Ganti 0xYourAddress dengan alamat Ethereum anda. Fungsi setValue() ialah fungsi tidak berbayar, yang bermaksud ia tidak memerlukan sebarang eter untuk dihantar bersama transaksi. Kami menghantar transaksi menggunakan fungsi send() dan pengendali acara pilihan (on('receipt') dan on('error')) membenarkan kami menerima resit transaksi atau mengendalikan sebarang ralat yang berlaku semasa transaksi. < /p>
Output
Apabila anda menjalankan kod JavaScript, anda akan melihat output dalam konsol. Sebagai contoh, jika kita memanggil fungsi getValue(), outputnya ialah -
Contract value: 10
Jika kita mengemas kini nilai menggunakan fungsi setValue(), outputnya ialah − p>
Transaction receipt: { blockHash: '0x123456...', blockNumber: 1234, ... }
Kesimpulan
Kepelbagaian JavaScript dan kuasa teknologi blockchain telah bersatu untuk membolehkan pembangun membina aplikasi terdesentralisasi menggunakan alat biasa. Dalam artikel ini, kami meneroka cara menggunakan JavaScript untuk berinteraksi dengan kontrak pintar pada blockchain Ethereum. Dengan memanfaatkan perpustakaan seperti web3.js, pembangun boleh menyambung ke rantaian blok, berinteraksi dengan kontrak pintar dan membina aplikasi berasaskan rantaian blok.
Atas ialah kandungan terperinci Terokai persimpangan JavaScript dan teknologi blockchain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

Terokai pelaksanaan fungsi seretan panel dan drop panel seperti VSCode di bahagian depan. Dalam pembangunan front-end, bagaimana untuk melaksanakan vscode seperti ...
