TRON dengan Foundry sekarang praktis melalui proxy JSON-RPC ringan yang menghubungkan alat gaya Ethereum dengan alur transaksi asli TRON.

Jika Anda terbiasa dengan forge build, forge test, dan forge create, Anda sudah tahu betapa kuatnya Foundry untuk pengembangan Solidity.

Tantangan yang selalu ada adalah bahwa TRON bukanlah klon JSON-RPC Ethereum yang lengkap. Beberapa metode eth_* yang diharapkan Forge berfungsi secara berbeda atau tidak ada di endpoint TRON standar. Ketidaksesuaian itulah yang menyebabkan penyebaran Foundry langsung gagal di TRON.

Solusi ini memperkenalkan proxy Node.js lokal kecil yang berada di antara Foundry dan TRON. Ini menerima permintaan penyebaran gaya Ethereum dari Forge dan menerjemahkannya menjadi transaksi yang bersifat TRON-native menggunakan TronWeb, kemudian menyiarkannya ke TRON Nile melalui TronGrid. Hasilnya adalah alur kerja yang terasa dekat dengan Ethereum sambil menyebarkan langsung ke TRON.

Ini adalah cara kerjanya dalam istilah sederhana:

โ–ซ๏ธ Jalankan server JSON-RPC lokal (misalnya http://127.0.0.1:8545)

โ–ซ๏ธ Implementasikan atau stub metode eth_* minimal yang dibutuhkan Forge

โ–ซ๏ธ Maju panggilan baca-saja ke endpoint TRON JSON-RPC yang nyata

โ–ซ๏ธ Terjemahkan eth_sendRawTransaction menjadi panggilan build, tandatangani, dan siarkan yang bersifat TRON-native

Apa yang Anda butuhkan untuk memulai:

โ–ซ๏ธ Endpoint TronGrid (Nile direkomendasikan untuk pengujian)

โ–ซ๏ธ TRX di Nile untuk dompet penyebar Anda

โ–ซ๏ธ Foundry terinstal (forge dan cast)

โ–ซ๏ธ Node.js terinstal

โ–ซ๏ธ Tron-solc untuk OS Anda

โ–ซ๏ธ Opsional: OpenZeppelin untuk pengujian ketergantungan

Alur pengaturan:

โ–ซ๏ธ Instal Foundry dan verifikasi forge --version dan cast --version

โ–ซ๏ธ Kloning repositori

โ–ซ๏ธ Instal ketergantungan Node

โ–ซ๏ธ Konfigurasikan .env menggunakan .env.sample

โ–ซ๏ธ Jalankan proxy dengan node proxy/index.js

โ–ซ๏ธ Konfigurasikan foundry.toml untuk mengarahkan eth_rpc_url ke proxy lokal Anda

โ–ซ๏ธ Bangun dengan forge clean dan forge build sebelum penyebaran

โ–ซ๏ธ Buat keystore menggunakan cast wallet import

Dari sana, penyebaran berjalan seperti yang diharapkan:

โ–ซ๏ธ Sebarkan kontrak sederhana tanpa konstruktor

โ–ซ๏ธ Sebarkan kontrak dengan argumen konstruktor

โ–ซ๏ธ Sebarkan kontrak dengan mengimpor OpenZeppelin

โ–ซ๏ธ Gunakan bendera --legacy dan --broadcast

โ–ซ๏ธ Periksa hash transaksi di Tronscan setelah menghapus awalan 0x

Pengujian tetap bersih dan terstruktur:

โ–ซ๏ธ Pengujian unit dijalankan di dalam pelari EVM lokal Foundry

โ–ซ๏ธ Gunakan output solc standar untuk pengujian

โ–ซ๏ธ Selalu jalankan forge clean sebelum forge test

โ–ซ๏ธ Pen-debugging interaktif bekerja dengan --debug

Dukungan saat ini mencakup:

โ–ซ๏ธ buat penyebaran forge

โ–ซ๏ธ Argumen konstruktor

โ–ซ๏ธ Impor lokal dan OpenZeppelin

โ–ซ๏ธ cakupan forge

โ–ซ๏ธ forge fmt

โ–ซ๏ธ Pengujian berbasis solc standar

Batasan hari ini:

โ–ซ๏ธ Output solc TRON tidak kompatibel dengan pelari EVM lokal Foundry

โ–ซ๏ธ Mem-fork melalui anvil --fork-url tidak didukung

โ–ซ๏ธ verifikasi-kontrak forge memerlukan penggunaan Tronscan sebagai gantinya

โ–ซ๏ธ Paritas RPC Ethereum yang lebih luas belum sepenuhnya diimplementasikan

Perbaikan yang direncanakan adalah menambahkan dukungan eth_call minimal untuk menyediakan panggilan baca yang lebih konsisten.

Dari perspektif pengembang, proxy ini menghilangkan gesekan antara alat berbasis Ethereum dan model transaksi TRON. Alih-alih menulis ulang alur kerja, Anda mempertahankan perintah Foundry yang sudah dikenal dan memasukkan lapisan kompatibilitas yang menangani rincian spesifik TRON di belakang layar.

Jika Anda membangun kontrak Solidity dan ingin menyebarkan di TRON tanpa meninggalkan kebiasaan alat Ethereum Anda, ini adalah pendekatan yang bersih dan praktis.

Jika Anda membangun di TRON atau merencanakan untuk memigrasi alur kerja Solidity, uji pengaturan ini di Nile, jelajahi repositori, dan mulai menyebarkan dengan Foundry hari ini.

Pelajari lebih lanjut ๐Ÿ‘‡

@Justin Sunๅญ™ๅฎ‡ๆ™จ @TRON DAO

#Solidiarty #TRONEcoStar