Topik trending
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Saya menyebarkan lingkungan Python sepenuhnya on-chain di Solana
Sekarang Anda menjalankan skrip Python asli dan bytecode di Solana
alamat program: pythonKBk7JcXsbwYzMRy2tL8L9tZqUbgekxRfT1bTE
frontend di sini:
Beberapa contoh:
cetak("Halo Solana!")
>>> "Halo Solana!"
cetak(matematika.sqrt(2.0))
>>> 1.414213
cetak(waktu.asctime())
"Thu Dec 18 19:26:15 2025"

Akun Solana diperlakukan seperti file
Yang berarti Anda dapat membaca/menulis ke akun Solana dan menyebarkan paket Python ke akun Solana
yang memungkinkan kode Python seperti:
f = terbuka("/sol/1", "w")
f.write("def greet(name):\n return 'Hello ' + name")
impor sol_1 sebagai my_package
cetak(my_package.greet("Solana"))
>> "Halo Solana"

Sebagian besar paket bawaan, Base58/64, Struct, JSON, Time, dan matematika disertakan
ada paket solana dengan dukungan untuk PDA, pemanggilan lintas rantai, dan sebagian besar panggilan sistem solana
Paket waktu membungkus jam Solana
Dan program mengembalikan pernyataan terakhir yang tidak dievaluasi sebagai return_data sehingga program lain dapat memanggil program Python dan menggunakan hasilnya

Program Python mendukung penguraian, kompilasi, dan eksekusi kode Python
Namun, penguraian on-chain sangat mahal. setiap skrip python rekursif yang rumit dengan cepat berjalan ke batas unit komputasi 1,4 juta
Untuk program Python yang lebih rumit, pengguna dapat mengkompilasi skrip ke dalam bytecode Python off-chain. Ini menghasilkan penghematan gas ~10-100x dan memungkinkan program Python yang jauh lebih rumit untuk dijalankan secara on-chain
Skrip rekursif sederhana seperti print(1+2+3) mengkonsumsi 1.328.442/1.399.700 unit komputasi
Dikompilasi menjadi bytecode mengkonsumsi 13.579/1.339.700 unit komputasi (100x lebih murah)
Frontend berisi pelengkap Python WASM sehingga pengguna dapat dengan mudah mengkompilasi ke bytecode dan mengeksekusi program on-chain


Saya mulai mengkodekan proyek ini selama Thanksgiving ketika saya menghabiskan waktu dan menemukan PikaPython: penerjemah python C yang berjalan hanya dengan RAM 4KB, nol dependensi
secara kebetulan @solana memiliki tumpukan (RAM) 4kb, mendukung C dan tidak memiliki banyak dependensi C standar
proyek ini 99% di-porting oleh AI, dan hanya diuji secara longgar oleh saya, jadi tolong jangan gunakan ini untuk operasi misi penting apa pun atau dengan dompet yang berharga
Namun, ini adalah taman bermain yang menyenangkan untuk menjelajahi Solana dan belajar tentang cara kerja Solana
pada akhirnya, dengan lebih banyak paket dan dukungan paket untuk aplikasi DeFi, ini bisa menjadi alat yang berguna untuk analisis data dan pembuatan prototipe di solana
Saya harus melakukan beberapa modifikasi untuk memindahkan proyek ke BPF Solana
- BPF tidak mendukung status yang dapat ditulis secara global sehingga saya harus memindahkan semua global ke dalam tumpukan
- BPF tidak mendukung argumen fungsi >5 (pada rantai alat C) sehingga harus meneruskan fungsi dengan argumen 5+ sebagai penunjuk ke struktur
- penunjuk fungsi yang mengarah ke luar segmen teks tidak diizinkan sehingga array penunjuk dan target panggilan "tidak aman" lainnya harus difaktorkan ulang
- Fungsi libc standar seperti printf harus diimplementasikan kembali
- Mengoptimalkan penggunaan tumpukan dan memindahkan struktur besar ke dalam tumpukan
- mengimplementasikan alokasi khusus yang mengalokasikan beberapa buffer besar
- Terapkan sysout sebagai sol_log dan kembalikan pernyataan terakhir yang tidak dievaluasi sebagai return_data
tautan github di bawah ini. Jangan ragu untuk berkontribusi:

saat ini VM dibatasi hingga 1,4 juta unit komputasi
di masa mendatang, penerjemah python dapat menggunakan bundel untuk memperluas batas CU ke batas akun 12 juta atau lebih
Ini akan membutuhkan:
- memeriksa penggunaan CU di dalam penerjemah
- menangguhkan unit parser dan VM saat mulai mendekati batas 1,4 juta CU
- mempertahankan status parser/VM yang disimpan dalam tumpukan ke akun
- memuat tumpukan saat penerjemah melanjutkan
ekstensi masa depan lainnya akan menerapkan paket untuk aplikasi DeFi populer sehingga pengguna dapat lebih mudah berinteraksi dengan program on-chain dalam python
Dukungan untuk Pyo3 atau Cython akan memungkinkan pengguna untuk dengan mudah menulis paket python yang efisien yang memperluas pustaka solana rust yang ada
akhirnya, porting numpy yang didukung oleh PikaPython akan menjadi proyek yang keren
proyek gratis dan sumber terbuka - tidak ada token
melakukannya karena kecintaan pada permainan
Nikmati - Moonshiesty
121
Teratas
Peringkat
Favorit
