Trendande ämnen
#
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.
Jag installerade en helt on-chain Python-miljö på Solana
Nu kör du native Python-skript och bytekod på Solana
programadress: pythonKBk7JcXsbwYzMRy2tL8L9tZqUbgekxRfT1bTE
Frontend här:
Några exempel:
tryck" ("Hej Solana!")
>>> "Hej Solana!"
print(math.sqrt(2.0))
>>> 1.414213
print(time.asctime())
"Tor 18 dec 19:26:15 2025"

Solana-konton behandlas som filer
Det betyder att du kan läsa/skriva till Solana-konton och distribuera Python-paket till Solana-konton
vilket möjliggör pythonkod såsom:
f = open("/sol/1", "w")
f.write("def greet(name):\n returnera 'Hello ' + name")
importera sol_1 som my_package
print(my_package.greet("Solana"))
>> "Hej Solana"

De flesta inbyggda funktioner, base58/64, struct, json, time och ett matematikpaket ingår
det finns ett solana-paket med stöd för PDA:er, cross-chain-anrop och de flesta solana-syscall
Tidspaketet slår in Solana-klockan
och programmet returnerar det senaste outvärderade satsen som return_data så att andra program kan anropa pythonprogrammet och använda resultatet

Python-programmet stödjer parsing, kompilering och exekvering av Python-kod
Men att parsa on-chain är väldigt dyrt. alla komplicerade rekursiva pythonskript stöter snabbt på 1,4 miljoner beräkningsenhetsgränsen
För mer komplicerade Python-program kan användare kompilera skriptet till Python bytecode off-chain. Detta resulterar i ~10–100x gasbesparing och gör det möjligt för mycket mer komplicerade Python-program att köras on-chain
Ett enkelt rekursivt skript som print(1+2+3) förbrukar 1 328 442/1 399 700 beräkningsenheter
kompilerad till bytekod förbrukar den 13 579/1 339 700 beräkningsenheter (100 gånger billigare)
Frontend innehåller en WASM Python-kompatibel så att användare enkelt kan kompilera till bytekod och köra programmet on-chain


Jag började vibe-koda det här projektet under Thanksgiving när jag fördrev tiden och stötte på PikaPython: en C python-tolk som körs med bara 4 KB RAM, noll beroenden
Av en slump har @solana en 4 KB-stack (RAM), stöder C och har inte många av de vanliga C-beroendena
projektet är 99 % portat av AI och endast löst testat av mig, så använd detta inte för några missionkritiska operationer eller värdefulla plånböcker
Men det är en rolig lekplats för att utforska Solana och lära sig om hur Solana fungerar
så småningom, med fler paket och paketstöd för DeFi-appar, kan detta bli ett användbart verktyg för dataanalys och prototypframställning på Solana
Jag var tvungen att göra flera modifieringar för att porta projektet till Solana BPF
- BPF stöder inte globalt skrivbart tillstånd så jag var tvungen att flytta alla globala till heapen
- BPF stöder inte >5-funktionsargument (på C-verktygskedjan) så man var tvungen att skicka funktioner med 5+ argument som pekare till strukturer
- funktionspekare som pekar utanför textsegmentet är förbjudna så arrayer av pekare och andra "osäkra" anropsmål måste refaktoreras
- Standardfunktioner som Printf behövde implementeras om
- optimera stackanvändning och flytta stora strukturer in i heapen
- implementerat en anpassad allokator som förallokerar flera stora buffertar
- implementera sysout som sol_log och returnera sista outvärderade satsen som return_data
GitHub-länk nedan. Känn dig fri att bidra:

just nu är VM:n begränsad till 1,4 miljoner beräkningsenheter
i framtiden skulle pythontolken kunna använda paket för att utöka CU-gränsen till 12M-kontogränsen eller längre
Detta skulle kräva:
- kontrollera CU-användning inuti tolken
- att pausa parsern och VM-enheten när den börjar närma sig 1,4 M CU-gränsen
- behålla parser/VM-tillståndet som lagras i heapen till ett konto
- ladda heapen när tolken återupptas
andra framtida tillägg skulle implementera paket för populära DeFi-appar så att användare enklare kan interagera med on-chain-program i Python
stöd för Pyo3 eller Cython skulle göra det enkelt för användare att skriva effektiva pythonpaket som utökar befintliga solana rust-bibliotek
slutligen skulle det vara ett häftigt projekt att porta Numpy, som stöds av PikaPython,
Projektet är gratis och öppen källkod – det finns ingen token
Gjorde det för kärleken till spelet
Njut - Moonshiesty
144
Topp
Rankning
Favoriter
