npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

create-starknet-app

v0.5.0

Published

An open-source starknet development stack

Downloads

677

Readme

🏗 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).

PS: defaults to debugger mode, if no type is specified.

FEATURES

Contract Section

Scripts exists to make your life easier! Here are available scripts and features: | Feature | Available | | :---: | :---: | | Build Contract | ✅ | | Format Contract | ✅ | | Run custom scripts | ✅ | | 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 | ✅ |

Dojo Section

Scripts to make building with Dojo easier! Here are available scripts and features: | Feature | Available | | :---: | :---: | | Initialize Dojo Project | ✅ | | Build Dojo Project | ✅ | | Deploy Katana | ✅ | | Migrate Dojo Project | ✅ |

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

Run custom starknet foundry scripts

To run a custom starknet foundry deploy/declare/invoke script:

npm run contract-scripts --url=<RPC_URL> --account=<ACCOUNT_NAME> <SCRIPT_NAME>

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

Dojo Section

The dojo-contracts folder contains all the tools needed to write, build, test and dojo projects. It is built with sozo and katana. Here are common operations you can perform on your dojo contracts.

Initialize Dojo Project

To initialize a dojo project, from the base repository:

npm run initialize-dojo --name=<PROJECT_NAME>

Build Dojo Project

To build your dojo project, from the base repository run:

npm run build-dojo --name=<PROJECT_NAME>

Deploy Katana

To build deploy katana, from the base repository run:

npm run deploy-dojo-katana --name=<PROJECT_NAME>

Migrate Dojo Project

To migrate your dojo project, from the base repository run:

npm run migrate-dojo --name=<PROJECT_NAME>

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.