Tópicos em alta
#
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.
Implantei um ambiente Python totalmente on-chain no Solana
Agora você executa scripts nativos em Python e bytecode no Solana
program address: pythonKBk7JcXsbwYzMRy2tL8L9tZqUbgekxRfT1bTE
Interface aqui:
Alguns exemplos:
print ("Olá Solana!")
>>> "Olá, Solana!"
print(math.sqrt(2.0))
>>> 1.414213
print(time.asctime())
"Qui 18 Dez 19:26:15 2025"

Contas Solana são tratadas como arquivos
O que significa que você pode ler/escrever em contas Solana e implantar pacotes Python em contas Solana
que permite código em Python como:
f = aberto("/sol/1", "w")
f.write ("def greet(name):\n return 'Hello' + nome")
importação sol_1 como my_package
print(my_package.greet("Solana"))
>> "Olá Solana"

A maioria dos builtins, base58/64, struct, json, time e um pacote de matemática estão incluídos
Existe um pacote Solana com suporte para PDAs, invocação cross-chain e a maioria das chamadas de sistema Solana
O pacote do tempo envolve o relógio Solana
e o programa retorna a última instrução não avaliada como return_data para que outros programas possam invocar o programa Python e usar o resultado

O programa Python suporta análise sintática, compilação e execução de código Python
No entanto, fazer parsing on-chain é muito caro. quaisquer scripts recursivos Python complicados rapidamente atingem o limite de unidades de computação de 1,4M
Para programas Python mais complexos, os usuários podem compilar o script em bytecode em Python fora da cadeia. Isso resulta em economia de gases de ~10 a 100 vezes maior e permite que programas em Python muito mais complexos sejam executados on-chain
Um script recursivo simples como Print(1+2+3) consome 1.328.442/1.399.700 unidades de computação
Compilado em bytecode, consome 13.579/1.339.700 unidades de cálculo (100 vezes mais barato)
A interface contém um compatível WASM Python para que os usuários possam facilmente compilar para bytecode e executar o programa on-chain


Comecei a programar esse projeto no Vibe Giving de Graças, quando estava matando o tempo, e encontrei o PikaPython: um interpretador de C Python que roda com apenas 4KB de RAM, zero dependências
coincidentemente, @solana tem uma pilha de 4KB (RAM), suporta C e não possui muitas das dependências padrão de C
o projeto é 99% portado por IA, e só testado de forma vaga por mim, então, por favor, não use isso para operações críticas ou com carteiras valiosas
No entanto, é um playground divertido para explorar Solana e aprender como Solana funciona
eventualmente, com mais pacotes e suporte a pacotes para aplicativos DeFi, isso poderia se tornar uma ferramenta útil para análise de dados e prototipagem no Solana
Tive que fazer várias modificações para portar o projeto para o Solana BPF
- BPF não suporta estado gravável global, então tive que mover todos os globais para o heap
- O BPF não suporta > 5 argumentos de função (na cadeia de ferramentas C), então teve que passar funções com 5+ argumentos como ponteiros para structs
- Ponteiros de função que apontam para fora do segmento de texto são proibidos, então arrays de ponteiros e outros alvos de chamadas "inseguros" tiveram que ser refatorados
- Funções padrão do libc como o Printf precisavam ser reimplementadas
- otimizar o uso da pilha e mover grandes estruturas para o heap
- implementou um alocador personalizado que pré-aloca vários buffers grandes
- implementar sysout como sol_log e retornar a última instrução não avaliada como return_data
Link do github abaixo. Sinta-se à vontade para contribuir:

no momento, a VM está restrita a 1,4M de unidades de computação
No futuro, o interpretador Python poderia usar bundles para estender o limite de até o limite de conta de 12M ou além
Isso exigiria:
- verificação do uso de dentro do interpretador
- suspender o parser e a unidade VM quando ela começa a se aproximar do limite de 1,4M
- persistir o estado do parser/VM armazenado no heap para uma conta
- carregar o heap quando o interpretador retoma
outras extensões futuras seriam a implementação de pacotes para aplicativos DeFi populares, para que os usuários possam interagir mais facilmente com programas on-chain em Python
o suporte para Pyo3 ou Cython permitiria aos usuários escrever facilmente pacotes Python eficientes que estendem as bibliotecas existentes de Solana Rust
Por fim, portar o numpy, que é suportado pelo PikaPython, seria um projeto legal
O projeto é gratuito e de código aberto - não há token
Fiz isso por amor ao jogo
Aproveite - Moonshiesty
143
Melhores
Classificação
Favoritos
