Sunodo is a framework for developing decentralized applications built on top of Cartesi technology. It helps developers to:
create
applications from templatesbuild
applications from source to a cartesi machinerun
applications in a local development environmenttest
applications running inside a cartesi machinedeploy
applications to a cloud providermonitor
application already running on a cloud providerdoctor
verify the minimal requirements for the sunodo execution commands
This monorepo (turborepo) includes libraries and applications for the upper part of the architecture diagram below.
cli
: a oclif CLI tool for deployment and management of DApps, available atbrew install sunodo
;controller
: a web3 application that monitor DApps deployments and launches cartesi nodes;docs
: a VitePress app with Sunodo documentation, deployed at https://docs.sunodo.ioweb
: a next.js app for Sunodo website, deployed at https://sunodo.ioapp
: a next.js app for Sunodo dashboard, deployed at https://app.sunodo.iomachine-emulator-tools
: packaging of cartesi machine emulator tools as Docker images;sdk
: Docker image to help with cartesi build and execution;contracts
: support smart contracts for node management;ui
: a stub React component library shared by bothweb
andapp
applicationseslint-config-custom
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)tsconfig
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.
This turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To build all apps and packages, run the following command:
cd sunodo
yarn run build
To develop all apps and packages, run the following command:
cd sunodo
yarn run dev