Coder Social home page Coder Social logo

horuslabsio / starknet-scaffold Goto Github PK

View Code? Open in Web Editor NEW
52.0 52.0 51.0 5.89 MB

An open-source, up-to-date toolkit for building decentralized applications (dapps) on Starknet. Move from prototyping to production-grade apps seamlessly.

Home Page: https://www.starknetscaffold.com

Cairo 4.81% JavaScript 2.56% CSS 2.48% TypeScript 89.89% Shell 0.26%

starknet-scaffold's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starknet-scaffold's Issues

Update deployment feature to support classhashes with constructor arguments

The current implementation in the repo, implements deployment for just classhashes with no constructor argument.

This issue requires you to update the implementation for the “deploy” functionality to support classhashes that requires constructor arguments. Takes the contract classhash, and constructor arguments, deploys it, and finally returns the contract address.

Hint: reference the implementation from the smart contract development section on Argent X.

This issue requires a good experience with Starknet.js. use the telegram group to ask questions as regards your assigned tasks.

Burner wallet UI #ODHack

When the user, visits the burner wallet page, they should see empty fields repeated in 5 places (as max of 5 burner accounts are allowed for each user), e.g:

Burner 1

  1. private key
  2. public key
  3. account address

Burner 2

  1. private key
  2. public key
  3. account address

Burner 3

  1. private key
  2. public key
  3. account address

Burner 4

  1. private key
  2. public key
  3. account address

Burner 5

  1. private key
  2. public key
  3. account address

And a generate wallet button.

When the generate wallet button is clicked, a private key and public key is generated. This button simultaneously deploys a new burner account using the burner account contract and returns an account contract address.

Each generated private key, public key and account address should be stored in local storage.

UI files should go in here:
https://github.com/argentlabs/Starknet-Scaffold/tree/main/frontend/src/app/components/Burner

Make the burner wallet component functional - [React/Starknetjs]

Implement all features in the already built UI from this issue, ensure they are functional. From instantiating/connecting a wallet using the connect modal, to sending assets through the transfer modal and displaying the wallet addresses and asset balances.

This issue requires a good experience with Starknet.js. use the telegram group to ask questions as regards your assigned tasks.

update scaffold theme

Current theme for the scaffold is blue (buttons etc). Update them to use this theme instead #f77448.

Ensure to update all buttons, texts, etc from blue to #f77448

Typo and Page Title

Screenshot 2024-05-23 at 15 36 56

I think I will make more professional sense to fix this typo and have a custom page title.

I would love to handle this issue if it is a priority

fix: accept u256 for contract deployment

Contract deployment currently fails when you try to deploy a classhash that accepts a u256 argument in constructor.

Fix deployer to allow u256 arguments for contract deployments

Burner wallet contract #ODHack

We want to give users the ability to generate burner wallets which they can fund and play around with for the purpose of development.

Create the contract for the burner wallets should contain a single function that deploys a burner account using OZ's classhash and returns the deployed account address.

NB: the public key arg willl be generated and assigned from the frontend

update CLI installation script #ODHack

The current repo structure is too verbose and complicated for people looking for just a simple boilerplate to kickstart their dapp with.

Update the existing CLI script, to prompt the user when he runs the npx create-starknet-app command with the following:

"What type of scaffold do you need?"

  • Basic (recommended for easy boilerplate to kickstart your dapp)
  • Full Package (recommended for early development process, needing a full debug suite)

And if Basic is selected, we need to clear/remove the following files while clearing useless files:

  • burner folder in the parent or base folder.
  • Burner, StarkDeployer and CairoWikipedia located in frontend/src/app/components

Else if Full Package is selected:
Install everything

Customizable UI Theme

Currently, buttons are themed orange as the primary colour, and blue as the secondary. Make this customizable in that from a single file, one can set the primary and secondary color for the buttons. e.g

Primary = "Red"
Secondary = "white"

should make all the buttons across all pages, a mix of red and white. where red will replace the existing orange, and white replace existing blue.

PS: The default setting if not manually tampered with should be the existing orange and blue colors.

Build a UI component for the burner wallet - [React/Nextjs]

This issue requires you to implement a simple wallet UI component which takes the format of the wireframe below. Should display:
1. The burner wallet’s ETH and STRK address (feel free to use dummy values)
2. The wallet address (feel free to use dummy values)
3. The send and connect button which opens a modal on click.

Linked with the next issue

use the telegram group to ask questions as regards your assigned tasks. Feel free to be creative with the UI.

Screenshot 2024-04-22 at 01 20 22

Implement the scaffold deployer’s “deploy” functionality - [React/Starknetjs]

This issue requires you to implement the “deploy” functionality for the deployer in this issue. Takes the contract classhash, and constructor arguments, deploys it, and finally returns the contract address.

Hint: reference the implementation from the smart contract development section on Argent X.

This issue requires a good experience with Starknet.js. use the telegram group to ask questions as regards your assigned tasks.

Starknet Scaffold Documentation

Amazing job we've done thus far, but we need a great documentation, people can reference as there's not so much we can cover in the Readme.

This issue will require 8 persons, with great writing skills. The documentation will include the following sections:

Detailed article on how to use starknet scaffold

  • Will be a 2-part detailed series
  • Will cover both the contract development and frontend development aspect using Starknet Scaffold
  • First part on contract development, second part on frontend development
  • Should clearly detail how development was made simpler thanks to Starknet Scaffold

PS: A proven track record of writing good articles is needed for this task, so please add a link to previously written articles when asking to be assigned

Build modal components for the burner wallet - [React/Nextjs]

Build two modal components for sending supported assets, and inititiating a connection to a burner account. Modal for sending asset should have two inputs and a transfer button:
1. Wallet address
2. Amount

Modal for initiating a connection should have two inputs:
1. Private key
3. Account address

Finally, ensure these modals opens up when the “Send” or “Connect” button from this issue is clicked.

use the telegram group to ask questions as regards your assigned tasks. Feel free to be creative with the UI.

Sample modal for transferring assets:
Screenshot 2024-04-22 at 01 33 40

Fix issues with sending ETH/STRK using Burner wallet

  1. When you send STRK to the Burner wallet, it shows up in a wrong format e.g 2 STRKs shows up as 2000000000000000000.0000STRK instead of 2.000STRK. Please fix.

  2. When you try sending ETH/STRK from a deployed burner wallet in the current implementation, it fails due to some max_fee error. Please fix.

Update ReadMe

Make it clearer how to contribute (step by step).

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.