🧪 Scaffold Move is an open-source, cutting-edge toolkit for building decentralized applications (dApps) on Aptos or any other Move-based blockchain. It's designed to streamline the process of creating and deploying Move modules and building user interfaces that interact seamlessly with those modules.
⚙️ Built using Move, Aptos TS SDK, Next.js, Tailwind CSS, and TypeScript.
- 🛫 Deployment Scripts: Simplify and automate your deployment workflow.
- ✅ Module Hot Reload: Your frontend automatically adapts to changes in your Move modules as you edit them.
- 🪝 Custom Hooks: A collection of React hooks to simplify interactions with Move modules.
- 🧱 Components: A library of common Web3 components to rapidly build your frontend.
- 🔐 Wallet Integration: Connect to any Aptos-compatible wallet and interact with the Aptos network directly from your frontend.
Perfect for hackathons, prototyping, or launching your next Move project!
Before you begin, you need to install the following tools:
- Node (>= v18.17)
- Yarn (v1 or v2+)
- Git
- Aptos CLI
To get started with Scaffold Move, follow the steps below:
- Clone this repo & install dependencies
git clone https://github.com/arjanjohan/scaffold-move.git
cd scaffold-move
yarn install
- Run a local network in the first terminal:
yarn chain
If you are deploying to devnet or testnet, you can skip this step.
- On a second terminal, initialize a new account.
yarn account
This command overwrites packages/move/.aptos/config.yaml
with a new Aptos account. The new address is copied over to the first address in the Move.toml file. If no address exists in this file, it is added on a new line.
- Deploy the test modules:
yarn deploy
This command deploys the move modules to the selected network. The modules are located in packages/move/sources
and can be modified to suit your needs. The yarn deploy
command uses aptos move publish
to publish the modules to the network. After this is executes the script located in scripts/loadModules.js
to make the new modules available in the nextjs frontend.
- On a third terminal, start your NextJS app:
yarn start
Visit your app on: http://localhost:3000
. You can interact with your Move modules using the Debug Modules
page. You can tweak the app config in packages/nextjs/scaffold.config.ts
.
What's next:
- Edit your Move module
OnchainBio.move
inpackages/move/sources
- Edit your frontend homepage at
packages/nextjs/app/page.tsx
. For guidance on routing and configuring pages/layouts checkout the Next.js documentation.
Scaffold Move has successfully implemented core features essential for Move developers, providing a robust foundation for building decentralized applications. The current version offers a streamlined development experience with hot module reloading, custom hooks, and seamless wallet integration.
Looking ahead, we have an exciting roadmap of enhancements and new features planned:
- Add a testing framework for Move modules.
- Add custom networks to network switching. This is currently not available in the Aptos Wallet Adapter. Once our PR is merged, this feature will be added to Scaffold Move.
- Enhance documentation and create tutorials for easier onboarding.
- Develop additional pre-built components for common dApp functionalities.
- Integrate different templates/configurations (similar to create-aptos-dapp)
We're committed to evolving Scaffold Move based on community feedback and emerging best practices in the Move ecosystem. For a detailed list of upcoming features and to contribute ideas, please check our GitHub Issues.
Your input is valuable! If you have suggestions or want to contribute, we encourage you to get involved and help shape the future of Scaffold Move. Join our developer Telegram channel to connect with the community and stay updated on the latest developments.
None of this would have been possible without the great work done in: