Slush
The Slush SDK allows you to spin up L3s on Starknet
Install / Use
/learn @slushsdk/SlushREADME
Slush SDK
The Slush SDK allows you to spin up L3s on Starknet.
For now this entails running Tendermint nodes and linking them to light clients on Starknet. This repo contains the modified Tendermint files as well as the Cairo contracts (modelled on Tendermint-Sol).
Send transactions to tendermint with the ABCI-CLI.
Requirements
| Tool | version | | -------------------------------------------------------------------------------------|--------------------------------------------------------------------------------| | Go | 1.17 | | Cairo | 0.10.3 | | Starknet Devnet | 0.4.2 | | Protostar | 0.9.1 | | Python (with pyenv) | 3.9 |
Before installing Starknet Devnet on M1 check this thread.
Starting a single local node
Clone this repo
git clone https://github.com/slushsdk/slush.git && cd slush
Build the binary:
make build
If using testnet (alpha-goerli):
Write your Argent/Braavos wallet account's private key in hex format into a file called
pkey:echo "0x..." > pkeyUse the init command with the
--network testnetand--account-addressflags:./build/slush init validator --home ./valdata --network testnet --account-address 0x...
If using local devnet (starknet-devnet):
Start Starknet devnet with
--seed 42:starknet-devnet --seed 42Write the first pre-deployed account's private key into a file called
seed42pkey:echo "0xbdd640fb06671ad11c80317fa3b1799d" > seed42pkeyUse the init command with:
./build/slush init validator --home ./valdata
Start the local node:
./build/slush start --proxy-app=kvstore --home ./valdata
Cleanup:
make clean && rm -rf ./valdata
Starting a testnet with watcher nodes on a different machines
You can deploy on alpha-goerli testnet.
On your chosen validator node:
<br/>Write your Argent/Braavos wallet private key into pkey file:
echo "0x..." > pkeyBuild the binary:
make buildInit:
./build/slush init validator --home ./valdata --network testnet --account-address 0x...Run the inputs for the non-validator nodes. Execute the output on the non-validator nodes:
python multiple-non-validator-node-steps.pyAnd you also need to start the validator node on the original machine, with:
./build/slush start --home ./valdata --proxy-app=kvstore
Initialize a non-validator node with the outputs of the multiple-non-validator-node-steps.py script. These will look like:
<br/>Initialize the non-validator node.
./build/slush init full --home ./valdataCopy the content of the valdata/config/genesis.json file from the validator node to the valdata/config folder of the other non-validator computers.
Run the following command to start a non-validator node:
./build/slush start --home ./valdata --proxy-app=kvstore --p2p.persistent-peers "SOME-LONG-ADDRESS@SOME-IP:26656"
Cleanup:
make clean && rm -rf ./valdata
Roadmap
Our roadmap is here.
Join us!
We are looking for exciting engineers to join!
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
