| Program | Address | Devnet | Mainnet |
|---|---|---|---|
| Network | F8dKseqmBoAkHx3c58Lmb9TgJv5qeTf3BbtZZSEzYvUa |
v2.0.15 | v2.0.0 |
| Thread v2 | CLoCKyJ6DXBJqqu2VWx9RLbgnwwR6BMHHuyasVmfMzBh |
v2.0.17 | v2.0.17 |
| Thread v1 | 3XXuUFfweXBwFgFfYaejLvZE4cGZiHgKiGfMtdxNzYmv |
v1.4.2 | v1.4.2 |
| Language | Description | Lib | Examples |
|---|---|---|---|
| Anchor | Anchor bindings for Solana programs. | crates.io | See Example Repo |
| Rust | Rust bindings for clients. | crates.io | See Example Repo |
| Typescript | Typescript bindings for clients and frontends. | npm | Explorer |
- Clockwork is under active development. All interfaces and implementations are subject to change.
- Official program deployments to Solana mainnet are secured by a 2-of-2 multisig and managed by the core team of software maintainers.
- To deploy a worker node on mainnet or devnet, please install the Clockwork geyser plugin on your Solana validator or RPC node and request an earlybird token delegation in the workernet channel on Discord.
- Occasionally, a new software release may change the state schema and require users to migrate to a new program. These releases will be marked by a new major version upgrade (e.g.
v2.x,v3.x, etc.). - The smart-contracts in this repository are automatically scanned by Sec3's auto-auditing software and are currently being reviewed by the team at Ottersec. Their audit report is in progress and will be published soon.
- "I am a developer, and I want to build a program on localnet"
- "I am a node operator, and I want to deploy a Clockwork worker"
If you are on linux, you might need to run this:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-config build-essential libudev-dev libssl-devInstall with cargo:
cargo install -f --locked clockwork-cliclockwork localnetsolana logs --url localhostIf you just want to test your smart contracts on localnet, check the previous section.
git checkout -b v2.0 origin/v2.0
./scripts/ci/create-tarball.sh
cd clockwork-geyser-plugin-release
export PATH=$PWD/bin:$PATHcurl -s https://api.github.com/repos/clockwork-xyz/clockwork/releases/latest | grep "clockwork-geyser-plugin-release-x86_64-unknown-linux-gnu.tar" | cut -d : -f 2,3 | tr -d \" | wget -qi -
tar -xjvf clockwork-geyser-plugin-release-x86_64-unknown-linux-gnu.tar.bz2
rm clockwork-geyser-plugin-release-x86_64-unknown-linux-gnu.tar.bz2solana-keygen new -o clockwork-worker-keypair.jsonclockwork worker create clockwork-worker-keypair.jsonCreate a new file ~/clockwork-geyser-config.json:
{
"libpath": "/home/sol/clockwork-geyser-plugin-release/lib/libclockwork_plugin.so",
"keypath": "/home/sol/clockwork-worker-keypair.json",
"rpc_url": "http://127.0.0.1:8899",
"transaction_timeout_threshold": 150,
"thread_count": 10,
"worker_id": 0,
}Assuming
clockwork-geyser-plugin-releaseis in your home directory.
#!/bin/bash
exec solana-validator \
--identity ~/validator-keypair.json \
--rpc-port 8899 \
--entrypoint entrypoint.devnet.solana.com:8001 \
--no-voting \
--full-rpc-api \
--limit-ledger-size \
# Add this line! 👇🏼
--geyser-plugin-config ~/clockwork-geyser-config.jsonsudo systemctl restart solPlease refer to the FAQ.
Come build with us and ask us questions Discord!