Skip to content

kkomelin/sui-dapp-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sui dApp Starter - Full-Stack Sui Starter on Steroids

Build and Lint (frontend) Discord chat

Spoiler

Motivation

Most of the Sui starters I found were either very basic or aimed for developing frontend-only apps. Thanks to my experience with various full-stack starters and templates, I knew how to do better, so I started this template with the goal of providing all basic tools and components for you to focus on your business logic from day one and not spend weeks on creating your app skeleton.

Features

  • Suibase: Painless work with the networks
  • Local Sui Explorer: Browse your transactions and objects locally
  • pnpm: More efficient package management for monorepos
  • TypeScript: Less error-prone JavaScript
  • React: Good old React for truly decentralized apps
  • Tailwind CSS: Utility-first CSS for more efficient styling
  • Vite + SWC: Faster app bundling and optimizing
  • Radix UI: Accessible React components to prototype quicker
  • Sui dApp Kit: All you need to work with Sui network on frontend
  • On-Chain Randomness: On-Chain Randomness example
  • Components and Hooks: useTransact, useNetworkType, NetworkType, useBalance, Balance, useFaucet, Faucet and more
  • Frontend Deployment: Firebase commands
  • One-liner Install: Just pnpm create sui-dapp@latest

Prerequisites

Before you begin, install the following:

Installation

Use this template ->

or

pnpm create sui-dapp@latest

Usage

1. Run the local Sui network:

pnpm localnet:start

Local Sui Explorer will be available on localhost:9001

2. Deploy the demo contract to the local network:

pnpm localnet:deploy

3. Switch to the local network in your browser wallet settings.

4. Fund your localnet account/address:

You have a few options here:

a) Use the Faucet button integrated into your wallet (e.g. Sui Wallet).

b) Copy the localnet address from your wallet and run the following in your console:

pnpm localnet:faucet 0xYOURADDRESS

c) Run the app and use the Faucet button in the footer.

5. Run the app:

pnpm start

Find all commands in package.json

Test

Backend

pnpm test

Troubleshoot

Troubleshooting guide

Documentation

Project Documentation

Roadmap

Improvement Ideas

Community

Discord

Links