Trendaavat aiheet
#
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.
Otin Solanalla käyttöön täysin ketjussa olevan Python-ympäristön
Nyt ajat natiivisti Python-skriptejä ja tavukoodia Solanassa
ohjelman osoite: pythonKBk7JcXsbwYzMRy2tL8L9tZqUbgekxRfT1bTE
Frontend täällä:
Muutama esimerkki:
print("Hei Solana!")
>>> "Hei Solana!"
print(math.sqrt(2.0))
>>> 1.414213
print(time.asctime())
"To 18. joulukuuta 19:26:15 2025"

Solana-tilejä käsitellään kuin tiedostoja
Tämä tarkoittaa, että voit lukea/kirjoittaa Solana-tileille ja ottaa Python-paketteja käyttöön
joka sallii python-koodin, kuten:
f = avoin ("/sol/1", "w")
f.write("def greet(name):\n return 'Hello' + name")
Tuo sol_1 muodossa my_package
print(my_package.greet("Solana"))
>> "Hei Solana"

Suurin osa sisäänrakennetuista laitteista, Base58/64, Struct, JSON, Time ja A Math Package sisältyvät
On olemassa Solana-paketti, joka tukee PDA:ita, ristiinketjukutsua ja useimpia Solanan syscalleja
Aikapaketti käärii Solanan kellon
ja ohjelma palauttaa viimeisen arvioimattoman lauseen muodossa return_data, jotta muut ohjelmat voivat kutsua python-ohjelman ja käyttää tulosta

Python-ohjelma tukee Python-koodin jäsentämistä, kääntämistä ja suorittamista
kuitenkin ketjun sisäinen jäsentäminen on hyvin kallista. monimutkaiset rekursiiviset Python-skriptit ajautuvat nopeasti 1,4 miljoonan laskentayksikön rajaan
Monimutkaisemmissa Python-ohjelmissa käyttäjät voivat kääntää skriptin Python-tavukoodiksi off-chain. Tämä johtaa ~10–100-kertaiseen polttoainesäästöön ja mahdollistaa paljon monimutkaisempien Python-ohjelmien suorittamisen ketjussa
yksinkertainen rekursiivinen skripti, kuten print(1+2+3), kuluttaa 1 328 442/1 399 700 laskentayksikköä
Käännettynä tavukoodiin se kuluttaa 13 579/1 339 700 laskentayksikköä (100 kertaa halvempi)
Frontendissä on WASM Python -yhteensopivuus, joten käyttäjät voivat helposti kääntää tavukoodiksi ja suorittaa ohjelman ketjussa


Aloitin vibe-koodauksen tämän projektin kiitospäivän aikaan, kun tapoin aikaa ja törmäsin PikaPythoniin: C python -tulkkiin, joka toimii vain 4 KB RAM-muistilla, ilman riippuvuuksia
sattumalta @solana:llä on 4kb pino (RAM), se tukee C:tä eikä siinä ole montaa tavallista C-riippuvuutta
projekti on 99 % tekoälyn porttaama ja testattu vain löyhästi minun toimestani, joten älä käytä tätä kriittisiin operaatioihin tai arvokkaiden lompakoiden kanssa
Kuitenkin se on hauska leikkikenttä tutkia Solanan ja oppia, miten Solana toimii
Lopulta, kun DeFi-sovelluksille tulee lisää paketteja ja pakettitukea, tästä voisi tulla hyödyllinen työkalu datan analysointiin ja prototyyppien valmistamiseen Solanalla
Minun piti tehdä useita muutoksia projektin siirtämiseksi Solanan BPF:lle
- BPF ei tue globaalia kirjoitettavaa tilaa, joten jouduin siirtämään kaikki globaalit pinoon
- BPF ei tue >5-funktioargumentteja (C-työkaluketjussa), joten piti välittää 5+ argumentin funktiot rakenteiden osoitteina
- funktioosoittimet, jotka osoittavat tekstisegmentin ulkopuolelle, eivät ole sallittuja, joten osoitintaulukot ja muut "turvattomat" kutsukohteet jouduttiin refaktoroimaan
- Tavalliset libc-funktiot, kuten printf, jouduttiin toteuttamaan uudelleen
- optimoida pinon käyttöä ja siirtää suuria rakenteita pinoon
- toteutti mukautetun allokaattorin, joka ennakkovaraa useita suuria puskureita
- toteuttaa sysout sol_log ja palauttaa viimeinen arvioimaton lause return_data
GitHub-linkki alla. Voit vapaasti osallistua:

tällä hetkellä virtuaalikone on rajoitettu 1,4 miljoonaan laskentayksikköön
tulevaisuudessa python-tulkki voisi käyttää nipupaketteja laajentaakseen CU-rajaa 12 miljoonan tilin rajaan tai sitä pidemmälle
Tämä vaatisi:
- CU:n käytön tarkistaminen tulkin sisällä
- jäsentimen ja VM-yksikön keskeyttäminen, kun se alkaa lähestyä 1,4M CU-rajaa
- säilyttää jäsentäjä/virtuaalikoneen tila, joka on tallennettu kekoon tilille
- keon lataaminen, kun tulkki jatkaa toimintaansa
muita tulevia laajennuksia ovat suosittujen DeFi-sovellusten pakettien toteuttaminen, jotta käyttäjät voivat helpommin olla vuorovaikutuksessa ketjun sisäisten ohjelmien kanssa Pythonissa
tuki Pyo3:lle tai Cythonille mahdollistaisi käyttäjille tehokkaiden python-pakettien helpon kirjoittamisen, jotka laajentavat olemassa olevia Solana Rust -kirjastoja
lopuksi, Numpyn porttaus, jota PikaPython tukee, olisi siisti projekti
Projekti on ilmainen ja avoimen lähdekoodin – tokenia ei ole
Tein sen pelin rakkaudesta
Nauti – Moonshiesty
144
Johtavat
Rankkaus
Suosikit
