Rumah > Peranti teknologi > industri IT > Debugging dengan Truffle CLI

Debugging dengan Truffle CLI

Lisa Kudrow
Lepaskan: 2025-02-16 10:10:11
asal
1030 orang telah melayarinya

Solidity Smart Contract Debugging: Truffle CLI Panduan Praktikal

Debugging with Truffle CLI

Selama lebih dari 30 tahun, debuggers telah menjadi alat yang sangat diperlukan dalam pembangunan perisian. Debuggers moden membolehkan kita:

    Kod satu langkah
  • Tetapkan Breakpoint
  • menetapkan syarat untuk titik putus
  • Ekspresi penilaian runtime
Debuggers yang paling moden sangat terintegrasi ke dalam persekitaran pembangunan bahasa yang mereka layani. Mereka membenarkan menetapkan titik putus dengan mengklik pada nombor baris, menilai ungkapan dengan melayang di atas pembolehubah, menulis titik putus bersyarat dalam komen kod ... dan sebagainya.

Jadi, apakah keadaan terkini debugging kontrak pintar dan debugger?

mata utama

    Truffle CLI adalah sebahagian daripada suite truffle, menyediakan proses mudah untuk menyusun, berhijrah, menguji dan menyahpepijat kontrak pintar Ethereum.
  • Menyediakan projek dengan Truffle termasuk memulakan direktori projek baru, mengkonfigurasi tetapan rangkaian dalam truffle.js, dan menggunakan menggunakan persekitaran pembangunan truffle.
  • Debugging dengan truffle CLI memerlukan mengenal pasti hash transaksi dari panggilan fungsi untuk disahpebur, dan menggunakan arahan
  • untuk melaksanakan langkah transaksi demi langkah. truffle debug tx_hash
  • Tugas debugging biasa termasuk melangkah melalui fungsi kontrak, memeriksa status berubah -ubah, dan menilai ungkapan untuk mendiagnosis dan menyelesaikan masalah dalam kod kontrak pintar.
Debugger Solidity

Seperti kebanyakan teknologi blockchain, kita masih dalam peringkat awal. Debugger asas sudah tersedia (dan berkembang pesat), tetapi tidak ada integrasi editor lagi, dan debugger sangat bergantung pada rangka kerja yang dipilih.

Dalam artikel ini, kami akan meneroka debugger solidity yang dibundel dengan suite truffle.

pemula

Pertama, kita perlu memasang semua alat yang diperlukan. Nasib baik, kerangka truffle sangat maju, jadi kita hanya perlu memasangnya.

Pertama, pasang Node.js dan NPM. Selepas memasang nod, anda boleh mengesahkan bahawa ia dipasang dengan memeriksa versi alat:

Jika nod anda berjalan, mari pasang kerangka truffle. Ini boleh dipermudahkan dengan menggunakan npm, hanya jalankan arahan berikut:

➜  ~ node -v
v10.2.1
➜  ~ npm -v
5.6.0
Salin selepas log masuk
Salin selepas log masuk

anda boleh menyemak sama ada pemasangan berjaya dengan memeriksa versi:

npm install -g truffle
Salin selepas log masuk
Salin selepas log masuk

Tetapan Projek

truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)
Salin selepas log masuk
Salin selepas log masuk
Sekarang anda telah menubuhkan Truffle, mari buat projek truffle baru (kosong). Buka terminal anda, cari diri anda ke direktori yang dikehendaki dan jalankan truffle init. Output harus sama dengan ini:

Setelah melakukan ini, anda harus mempunyai struktur kontrak yang serupa dengan ini:

truffle init
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test
Salin selepas log masuk
Salin selepas log masuk

Sekarang buka fail truffle.js dan masukkan data berikut ke dalamnya:

<code>.
├── contracts
│   └── Migrations.sol
├── migrations
│   └── 1_initial_migration.js
├── test
├── truffle-config.js
└── truffle.js</code>
Salin selepas log masuk

Simpan fail dan jalankan truffle berkembang. Anda harus mendapatkan output yang serupa dengan ini:

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

Ini melancarkan contoh blockchain pembangunan truffle yang dikuasakan oleh Ganache-CLI (dahulunya TestRPC).

Menulis dan Menggunakan Kontrak

Dalam direktori kontrak, buat fail bernama storage.sol. Dalam fail ini, letakkan kod berikut:

➜  ~ node -v
v10.2.1
➜  ~ npm -v
5.6.0
Salin selepas log masuk
Salin selepas log masuk

Selepas ini selesai, struktur fail anda sepatutnya kelihatan seperti ini:

npm install -g truffle
Salin selepas log masuk
Salin selepas log masuk

Di direktori Migrasi, buat fail baru bernama 2_deploy_migrations.js dan masukkan kod berikut ke dalamnya:

truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)
Salin selepas log masuk
Salin selepas log masuk

Kod ini mentakrifkan bagaimana truffle memindahkan projek kami ke blockchain.

Sekarang buka tab baru di terminal (terus truffle berkembang berjalan) dan jalankan Truffle berhijrah. Ini akan menyusun dan memindahkan kontrak anda ke blok pembangunan. Anda harus mendapatkan output yang serupa dengan ini:

truffle init
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test
Salin selepas log masuk
Salin selepas log masuk

Jalankan konsol truffle sekarang. Ini akan membuka konsol interaktif untuk anda menguji kontrak anda. Lakukan yang berikut dalam konsol:

... (langkah -langkah berikutnya adalah serupa dengan teks asal, tetapi ralat kod telah diperbetulkan dan beberapa keterangan telah dipermudahkan) ....

Soalan Lazim (Soalan Lazim) Mengenai Debugging Dengan Truffle Cli

... (bahagian FAQ pada dasarnya sama dengan teks asal, dan sedikit menyesuaikannya untuk mengekalkan kelancaran) ....

Semua dalam semua, artikel ini menyediakan panduan debugging Smart Contricting yang lebih diperkemas dan mudah difahami dan memperbaiki kesilapan kod dalam teks asal. Pembaca boleh mengikuti langkah langkah demi langkah untuk menguasai kemahiran menggunakan Truffle CLI untuk debug kontrak pintar.

Atas ialah kandungan terperinci Debugging dengan Truffle CLI. 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