Program | Address | Devnet | Mainnet |
---|---|---|---|
Network | F8dKseqmBoAkHx3c58Lmb9TgJv5qeTf3BbtZZSEzYvUa |
v2.0.0 | v2.0.0 |
Thread v2 | CLoCKyJ6DXBJqqu2VWx9RLbgnwwR6BMHHuyasVmfMzBh |
v2.0.0 | v2.0.0 |
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.
- Occassionally, 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"
git clone https://github.com/clockwork-xyz/clockwork
cd clockwork
git describe --tags `git rev-list --tags --max-count=1`
git checkout tags/...
⚠️ Make sure the version of your program or client matches the version of the engine that you are running. E.g., if you are usingclockwork-sdk = 2.0.0
, you should alsogit checkout tags/v2.0.0
. We use semantic versioning, but main branch is probably not what you want.
./scripts/build-all.sh .
export PATH=$PWD/bin:$PATH
clockwork localnet
solana logs --url localhost
curl -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.bz2
solana-keygen new -o clockwork-worker-keypair.json
clockwork worker create clockwork-worker-keypair.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,
}
#!/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.json
sudo systemctl restart sol
Please refer to the FAQ.
Come build with us and ask us questions Discord!