Rumah > Peranti teknologi > industri IT > Truffle: Menguji Kontrak Pintar

Truffle: Menguji Kontrak Pintar

Christopher Nolan
Lepaskan: 2025-02-16 09:14:13
asal
969 orang telah melayarinya

Truffle: Testing Smart Contracts

Truffle: Alat yang berkuasa untuk Automasi Pembangunan Kontrak Pintar yang cekap.

Ujian kontrak pintar adalah pautan teras pembangunan kontrak pintar berkualiti tinggi. Mengapa kita perlu memberi perhatian yang begitu banyak kepada ujian? Kerana kontrak pintar berurusan dengan nilai, kadang -kadang nilai yang besar, ini menjadikan mereka disasarkan oleh penyerang. Anda tidak mahu melihat projek anda akhirnya menjadi "hantu" di tanah perkuburan blockchain, bukan?

Mata utama:

    Truffle adalah alat yang mesti dimiliki untuk kompilasi automatik, ujian dan penggunaan kontrak pintar, memastikan pembangunan blockchain yang cekap.
  • Kerana kontrak pintar mengendalikan urus niaga bernilai tinggi dan mudah disasarkan, adalah penting untuk menguji kontrak pintar dengan truffle.
  • Mudah untuk membina rangkaian ujian pembangunan tempatan menggunakan Ganache-CLI (dahulunya dikenali sebagai TestRPC), yang menyediakan akaun eter pra-dimuatkan untuk ujian kos efektif yang mudah.
  • Truffle menyokong menulis ujian kontrak pintar menggunakan Solidity dan JavaScript, memberikan fleksibiliti berdasarkan keutamaan pengaturcaraan pemaju dan kerumitan ujian.
  • Truffle mempunyai debugger terbina dalam yang membolehkan pemaju melangkah melalui kod dan memeriksa pembolehubah untuk menyelesaikan masalah dengan cekap.

pemula:

kami akan membuat pasaran barangan terpakai berasaskan kontrak pintar yang dipanggil

HASHMarket .

Di terminal, cari folder di mana anda ingin membina projek. Dalam folder ini, jalankan arahan berikut:

mkdir HashMarket
cd HashMarket
truffle init
Salin selepas log masuk
anda harus melihat output yang serupa dengan yang berikut:

<code>Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test</code>
Salin selepas log masuk
anda juga akan mendapat struktur fail seperti yang ditunjukkan di bawah:

<code>.
├── contracts
│   └── Migrations.sol
├── migrations
│   └── 1_initial_migration.js
├── test
├── truffle-config.js
└── truffle.js</code>
Salin selepas log masuk
Untuk dokumen ini, sila rujuk artikel sebelumnya. Ringkasnya, kami mempunyai fail asas serta dua fail untuk penghijrahan blockchain awal.

truffle.js bersiap sedia untuk persekitaran ujian

Cara paling mudah untuk diuji adalah untuk melakukannya di rangkaian tempatan. Adalah sangat disyorkan untuk menggunakan alat Ganache-CLI (dahulunya dikenali sebagai TestRPC) untuk ujian kontrak.

Memasang Ganache-CLI (Memerlukan Pengurus Pakej Node):

Selepas

, buka tetingkap atau tab terminal yang berasingan dan jalankan:
npm install -g ganache-cli
Salin selepas log masuk

anda harus melihat output yang serupa dengan yang berikut:
ganache-cli
Salin selepas log masuk

Ini adalah senarai semua akaun yang dibuat oleh Ganache-CLI untuk anda. Anda boleh menggunakan apa -apa akaun yang anda mahu, tetapi ini akan pramuat eter, yang menjadikannya sangat berguna (kerana ujian memerlukan eter membayar yuran gas).
<code>Ganache CLI v6.1.0 (ganache-core: 2.1.0)

... (账户和私钥信息) ...

Listening on localhost:8545</code>
Salin selepas log masuk
Selepas

, pergi ke fail

atau

anda dan tambahkan rangkaian pembangunan ke konfigurasi anda: truffle.js truffle-config.js

Menulis Kontrak Pintar
module.exports = {
    networks: {
      development: {
        host: "127.0.0.1",
        port: 8545,
        network_id: "*"
      }
    }
};
Salin selepas log masuk

Pertama, kami akan menulis kontrak pintar hashmarket. Kami akan cuba mengekalkannya dengan mudah semasa mengekalkan fungsi yang diperlukan.

Hashmarket adalah eBay di blok block. Ia membolehkan penjual menerbitkan produk dan pembeli untuk membeli produk menggunakan Ether. Ia juga membolehkan penjual mengeluarkan produk apabila ia tidak dijual.

Dalam folder contracts dalam projek, buat fail baru dan namakannya HashMarket.sol. Dalam fail ini, tambahkan kod berikut: (kod kontrak yang sama seperti teks asal ditinggalkan di sini untuk mengelakkan pertindihan)

Menulis Fail Migrasi

Anda perlu menulis fail penghijrahan yang membolehkan Truffle tahu bagaimana untuk menggunakan kontrak anda ke blockchain. Pergi ke folder migrations dan buat fail baru bernama 2_deploy_contracts.js. Dalam fail ini, tambahkan kod berikut: (kod fail penghijrahan yang sama seperti teks asal ditinggalkan di sini untuk mengelakkan pertindihan)

Ujian Kontrak Pintar

Anda boleh menggunakan Solidity atau JavaScript untuk melakukan ujian kontrak pintar. Solidity mungkin sedikit lebih intuitif apabila menguji kontrak pintar, tetapi JavaScript menawarkan lebih banyak kemungkinan.

ujian solidity

Untuk memulakan ujian, dalam folder test dalam projek, buat fail bernama TestHashMarket.sol. (Kod ujian solidity yang sama dengan teks asal ditinggalkan di sini untuk mengelakkan pertindihan)

ujian JavaScript

Truffle membolehkan kami menggunakan JavaScript untuk ujian, memanfaatkan rangka kerja ujian mocha. (Kod ujian JavaScript yang sama seperti teks asal ditinggalkan di sini untuk mengelakkan pertindihan)

FAQs (FAQs) Mengenai Menggunakan Truffle Untuk Menguji Kontrak Pintar: (Seksyen Soalan Lazim yang sama seperti teks asal ditinggalkan di sini untuk mengelakkan pertindihan)

Atas ialah kandungan terperinci Truffle: Menguji Kontrak Pintar. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan