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

Debugging dengan Truffle CLI

Lisa Kudrow
Lisa Kudrowasal
2025-02-16 10:10:111020semak imbas

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:

<code class="language-bash">➜  ~ node -v
v10.2.1
➜  ~ npm -v
5.6.0</code>

anda boleh menyemak sama ada pemasangan berjaya dengan memeriksa versi:

<code class="language-bash">npm install -g truffle</code>

Tetapan Projek

<code class="language-bash">truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)</code>
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:

<code class="language-bash">truffle init
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test</code>

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>

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

<code class="language-javascript">module.exports = {
  networks: {
      development: {
          port: 9545,
          host: "127.0.0.1",
          network_id: "*"
      }
  }
};</code>

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:

<code class="language-bash">➜  ~ node -v
v10.2.1
➜  ~ npm -v
5.6.0</code>

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

<code class="language-bash">npm install -g truffle</code>

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

<code class="language-bash">truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)</code>

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:

<code class="language-bash">truffle init
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:

  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test</code>

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:
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