Skip to content

Repository files navigation

Tralalero Contracts

Constructor visual de contratos inteligentes. Armás el contrato encastrando bloques, y sale desplegado en la cadena que elijas.

Soporta Stellar (Soroban, en Rust) y EVM (BNB Chain y Polkadot Asset Hub, en Solidity). El mismo constructor, dos familias de cadena distintas.

Cómo está organizado

src/                    el constructor visual (React + Blockly)
  components/           ContractBuilder.tsx es el editor
  utils/blocklyConfig   los bloques y sus reglas

contracts/
  evm/                  Solidity, para BNB y Polkadot
  stellar/              Soroban, en Rust

server/                 backend que compila contratos Soroban al vuelo
  index.cjs             Express, genera Rust desde plantillas y lo compila
  templates/            plantillas Handlebars de tokens Stellar

ignition/               despliegues de Hardhat
scripts/                scripts de despliegue
docs/                   la documentación que estaba suelta en la raíz
reference/stellar-ui/   el frontend viejo de la parte Stellar, como referencia

Arrancar

npm install

npm run dev       # el constructor visual
npm run server    # el backend que compila contratos Soroban

Desplegar

Para EVM, la clave privada se guarda con vars, no en un .env:

npx hardhat vars set PRIVATE_KEY

npm run compile
npm run deploy:bsc-testnet    # BNB Chain testnet
npm run deploy:polkadot       # Polkadot Asset Hub

Las tres redes están en hardhat.config.js: bscTestnet (97), bsc (56) y passetHub (420420422). Agregar otra cadena EVM es sumar una entrada ahí; los contratos no cambian.

Para Stellar, el backend compila y despliega contra testnet directamente.

Sobre la fusión

Este repositorio junta cuatro que hacían partes del mismo producto:

Repositorio Qué aportó
tralacontracts La base: el constructor Blockly, Hardhat, los despliegues EVM
TralalaContracts El lado Stellar: el backend, las plantillas Soroban, los contratos
TralaleroBNB Nada. Sólo tenía un README
TralaBNBcontracts Nada. Estaba vacío, sin un solo commit

TralalaContracts pesaba 2 GB, de los cuales el contenido real eran 74 archivos. Los otros 6623 eran artefactos de compilación commiteados: había seis copias de libstellar_xdr-*.rlib, de 34 MB cada una. Nada de eso vino, y el .gitignore de acá está escrito para que no vuelva a pasar.

Dos cosas que hubo que resolver al juntarlos:

El backend es CommonJS y el paquete es ESM. server/index.cjs usa require, y el package.json de la raíz declara "type": "module". Vive en su propio ámbito con un package.json propio que dice "type": "commonjs"; sin eso, el servidor no arranca.

Los nombres de paquete chocaban. Uno se llamaba tralalacontracts-dot y el otro tralalerocontracts-app. Ahora es uno solo.

About

Constructor visual de contratos inteligentes, multichain: Stellar (Soroban) y EVM (BNB Chain, Polkadot)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages