cari
RumahPeranti teknologiindustri ITDebugging dengan Truffle CLI

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

anda boleh menyemak sama ada pemasangan berjaya dengan memeriksa versi:

npm install -g truffle

Tetapan Projek

truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)
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

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:

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

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

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

➜  ~ node -v
v10.2.1
➜  ~ npm -v
5.6.0

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

npm install -g truffle

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)

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

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
Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Apr 24, 2025 am 08:28 AM

Tinggal maklumat mengenai trend teknologi terkini dengan surat berita pemaju teratas ini! Senarai ini menawarkan sesuatu untuk semua orang, dari peminat AI ke pemaju backend dan frontend yang berpengalaman. Pilih kegemaran anda dan menjimatkan masa mencari rel

Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaPaip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaApr 18, 2025 am 08:28 AM

Tutorial ini membimbing anda melalui membina saluran paip pemprosesan imej tanpa pelayan menggunakan perkhidmatan AWS. Kami akan membuat frontend next.js yang digunakan pada kluster ECS Fargate, berinteraksi dengan Gateway API, Fungsi Lambda, Bucket S3, dan DynamoDB. Th

CNCF Arm64 Pilot: Impak dan WawasanCNCF Arm64 Pilot: Impak dan WawasanApr 15, 2025 am 08:27 AM

Program perintis ini, kerjasama antara CNCF (Yayasan Pengkomputeran Native Cloud), pengkomputeran ampere, equinix metal, dan digerakkan, menyelaraskan ARM64 CI/CD untuk projek GitHub CNCF. Inisiatif ini menangani kebimbangan keselamatan dan prestasi lim

See all articles

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

Video Face Swap

Video Face Swap

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

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini