Giter Site home page Giter Site logo

keneepatel / starknet-scaffold Goto Github PK

View Code? Open in Web Editor NEW

This project forked from horuslabsio/starknet-scaffold

0.0 0.0 0.0 1.06 MB

move from rapid prototyping to production-grade apps

Home Page: https://starknet-scaffold.vercel.app

Shell 0.56% JavaScript 4.37% TypeScript 86.62% CSS 0.25% Cairo 8.20%

starknet-scaffold's Introduction

๐Ÿ— STARKNET-SCAFFOLD

๐Ÿงช An open-source, up-to-date toolkit for building decentralized applications (dapps) on Starknet. It's designed to make it easier for developers to create and deploy smart contracts and build user interfaces that interact with those contracts.

โš™๏ธ Built using NextJS, Starknet.js, Starknet-React, Starknetkit, Typescript, Scarb, and Starknet-Foundry.

REQUIREMENTS

Before you begin, you need to install the following tools:

QUICKSTART

To get started with Starknet-Scaffold, Clone this repo:

git clone [email protected]:argentlabs/Starknet-Scaffold.git
cd Starknet-Scaffold

Or install using create-starknet-app (recommended). This takes in the name and boilerplate type. If you need a basic boilerplate with frontend UI components, use the "basic" type else for full debugging suite, use "debugger". e.g

npx create-starknet-app my-app debugger

FEATURES

Contract Section

Scripts exists to make your life easier! Here are available scripts and features:

Feature Available
Build Contract โœ…
Format Contract โœ…
Generate SRC5 Interface โœ…
Prepare Account โœ…
Deploy Account โœ…
Delete Account โœ…
Declare Contract โœ…
Deploy Contract โœ…
Devnet spin up โœ…
Burner wallets for debugging โœ…
Starknet contract Deployer โŒ
sepETH/sepSTRK faucet โœ…
Cairo Wikipedia โœ…

UI Section

UI components, to spin up faster UIs. Any missing UI component you'd like to see? please open a PR:)

Feature Available
Connect button & Custom Wallet Modal โœ…
Address bar (Displays StarknetID) โœ…
Transactions List โœ…
modal to copy/disconnect/view account โœ…
Display account balance โœ…
Switch/display network โœ…
App Light/Dark mode โœ…
Burner wallet UI โœ…

USAGE

Contract Section

The contract folder contains all the tools needed to write, build, test and deploy your Starknet smart contracts. It is built with Scarb and Starknet Foundry. Here are common operations you can perform on your contracts:

Build contracts

To build your smart contracts, from the base repository run:

npm run build-contracts

Format contracts

Scarb comes with an in-built cairo formatter. To utilize it run:

npm run format-contracts

Test contracts

To run your tests:

npm run test-contracts

Generate an SRC-5 interface ID for your contracts

To generate an interface ID, run:

npm run generate-interface <PATH_TO_INTERFACE>

Prepare Account for deployment

To prepare your account for deployment, run:

npm run prepare-account --url=<RPC_URL> --name=<ACCOUNT_NAME>

generates a profile which is added to scarb.toml and can be passed to other commands.

Deploy Account

To deploy an account:

npm run deploy-account --profile=<MY_PROFILE> --name=<ACCOUNT_NAME> --maxfee=<MAX_FEE>

where the profile is gotten from scarb.toml, name is the prepared account and maxfee is the specified max fee.

Delete Account

To delete an account:

npm run delete-account --url=<RPC_URL> --name=<ACCOUNT_NAME> --network=<alpha-mainnet | alpha-goerli>

Declare Contract

To declare a contract:

npm run declare-contract --profile=<MY_PROFILE> --contract=<CONTRACT_NAME>

Deploy Contract

To deploy a contract:

npm run deploy-contract --profile=<MY_PROFILE> --classhash=<CONTRACT_CLASSHASH>

Run Starknet-Devnet

Ensure to have Docker installed. To run starknet-devnet:

npm run devnet

UI SECTION

The frontend section contains all UI components. Built using NextJS, Starknet.js, Starknet-React, Starknetkit, and Typescript.

Run UI

To run UI, from the base repository:

npm run start

Build UI

To build your frontend, from the base repository run:

npm run build-ui

DOCUMENTATION

Documentations of tools used in this scaffold:

  1. Scarb
  2. Starknet Foundry
  3. Nextjs
  4. Starknetjs
  5. Starknet-React
  6. Starknetkit

HOW TO CONTRIBUTE TO STARKNET-SCAFFOLD

We welcome contributions to Starknet-Scaffold!

Please see CONTRIBUTING.MD for more information and guidelines for contributing to Starknet-Scaffold.

starknet-scaffold's People

Contributors

darlington02 avatar cheelax avatar faytey avatar maxservais avatar stephanniegb avatar jimmyfate avatar oshioke-salaki avatar kwkr avatar antoine-sparenberg avatar ugo-x avatar yubz avatar codewhizperer avatar marchand-nicolas avatar temhithorphe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.