Awesome
Loot Underworld
##\ ##\ v0.1.0|
## | ## | |
## | ######\ ######\ ######\ |
## | ## __##\ ## __##\\_## _| _ _|_ _
## | ## / ## |## / ## | ## | |;|_|;|_|;|
## | ## | ## |## | ## | ## |##\ \\. . /
########\\###### |\###### | \#### | \\: . /
\________|\______/ \______/ \____/ ||: |
\,/ ||: |
##\ ##\ \,/ ##\ ||: |
## | ## | /`\ ## | ||: |
## | ## |#######\ ####### | ######\ ######\ /`\ ||: |
## | ## |## __##\ ## __## |## __##\ ## __##\ ||: |
## | ## |## | ## |## / ## |######## |## |..\__| ||: |
## | ## |## | ## |## | ## |## ____|## |.. ||: |
\###### |## | ## |\####### |\#######\ ## |. >D @ ,`'`', ||: |
\______/ \__| \__| \_______| \_______|\__|. -!-/ ` `', ||: |
____--`..''..'-~~_ .... / \ ` ` `', ||%~`--,_
~-~-~..................`~~---__-~,.-`~~--~^~~--.__,-, ' `%%%%%%%%`~~
##\......##\.....................##\.......##\...%%%%%%%%, ` `%%%%%%%%%
## | #\..## |....................## |......## |..%%#####.., ` #####%%
## |###\.## | ######\ ######\ ## | ######$ |..################,---8;#####
## ## ##\## |## __##\ ## __##\ ## |## __## |..###.............' 8'..###
#### _#### |## /..## |## |..\__|## |## /..## |..##... ' 8'...##
### /.\### |## |..## |## |......## |## |..## |..##.. / ` ,--#######
## /...\## |\###### |## |......## |\####### |..##. |$$| ' ,##########
\__/.....\__| \______/ \__|......\__| \_______|..#####8---\,,,,,,##or080ro##
Team
- Mataleone
- GitHub: @rsodre
- Twitter: @matalecode
- Recipromancer
- GitHub: @Rob-Morris
- Twitter: @recipromancer
Background
A funDAOmental project as part of Project or080ro
- GitHub: @funDAOmental
- Twitter: @funDAOmental
Funded in part by a Frontinus House & BilbiothecaDAO grant in the FH genesis round. See the Frontinius House proposal for Loot Underworld.
Design
Take a look at the DESIGN doc.
Dojo Quick Start Guide
Cloned from the dojo-starter-react-app
For an in-depth setup guide, consult the Dojo book.
Environment Setup 🔗
Install Rust + Cargo + others
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# open new terminal to update PATH
rustup override set stable
rustup update
# Install Scarb/Cargo
# (matching your Scarb.toml Cairo version)
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh -s -- -v 2.4.0
# (or latest)
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh
# other stuff you might need
cargo install toml-cli
brew install protobuf
Install the Cairo 1.0 extension for Visual Studio Code
Install Dojo 🔗
Using Dojo 0.4.3!
curl -L https://install.dojoengine.org | bash
# open new terminal to update PATH
dojoup -v 0.4.3
# test dojo
cd dojo
sozo build
sozo test
# install packages
cd ../client
npm install
Launch Dojo
Terminal 1: Katana (local node)
cd dojo
katana --disable-fee --invoke-max-steps 10000000
# or just...
cd dojo
./run_katana
Terminal 2: Torii (indexer)
Uncomment the world_address
parameter in dojo/Scarb.toml
then:
cd dojo
torii --world 0x6400412d8083e10058277920b8a4a81338727912bc3435e5413f168221e73c7
# or just...
cd dojo
./run_torii
Terminal 3: Client
cd client
npm install
npm run dev
# or just...
cd dojo
./run_client
Terminal 4: Sozo commands
# build world and systems
cd dojo
sozo build
# migrate to local Katana
cd dojo
./migrate
Browser
After edits...
Build, migrate, authorize
cd dojo
sozo build
sozo migrate
scripts/default_auth.sh
cp target/dev/manifest.json ../client/src/
cd ../client
# or just...
cd dojo
./migrate
FAQ / Pitfalls
- Linking to a local package:
cd client
npm link @dojoengine/state ../../dojo.js/packages/state
# unlink
npm unlink @dojoengine/state
sozo migrate
error:
[1] 🌎 Building World state....
> Found remote World: 0x3cc6a9ed7c1e2485d4fe787a7191f1f6835cd905a3d0731fc9e24f5a39d9415
> Fetching remote state
error: Failed to build remote World state.
Caused by:
Unable to find remote World at address 0x3cc6a9ed7c1e2485d4fe787a7191f1f6835cd905a3d0731fc9e24f5a39d9415. Make sure the World address is correct and that it is already deployed!
Fix: Comment world_address
on Scarb.toml
, migrate, and uncomment.
- Console error:
Uncaught (in promise) Error: Error fetching transaction receipt
Fix: Delete burner wallets from Browser Local Storage