fullstack-starknet
fullstack-starknet copied to clipboard
Full-Stack StarkNet
Repo containing the code for a short tutorial series I wrote while diving into StarkNet and learning Cairo. Aims to onramp existing devs to a little bit of everything.
NOTE: Since this space moves so quickly, a lot of the libraries used are shifting underneath this tutorial.
If you see something that isnβt working, you are probably using the newest version of a contract or library. Tweaks are likely necessary! Play around and debug, and feel free to submit a PR to help the next dev! :)
Creating a black box for cars, enabling immutable diagnostics.
Tutorial text kept on hackmd for easier editing:
-
[Part 1] π§ Getting Started in Cairo & Deploying with Nile
- write a unit tested contract in cairo
- deploy your contract to testnet
-
[Part 2] π Contract Interaction with starknet.py
- create and sign StarkNet transactions from a python application
-
[Part 3] π₯ StarkNet Account Abstraction & Using Standard Contracts
- learn the difference between Ethereum & StarkNet Account models
- refactor your contract & tests to use standard OpenZeppelin Accounts
-
[Part 4] π½ Local Devnet & Starknet.py's Account Capabilities
- learn to use the devnet for boosted development speed
- leverage starknet.py's AccountClient to proxy transactions through a deployed Account
-
[Part 5] π¨ StarkNet Frontends w/ Cairopal & Argent X
- build a frontend from the community made dapp template
- connect to an account in your Argent X wallet & sign transactions
-
[Notes] π° Contract Costs & Why Our Design Needs Work
- learn a little about the future of transaction fees & how to write code with that in mind
- implement a Bloom filter in cairo
- measure the number of steps used by your contract calls
Finished Product
A react frontend that interacts with our deployed StarkNet contract, using Argent X accounts & browser extension: