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 programs are secured by a 2-of-2 multisig and managed by a core team of maintainers.
- On Solana mainnet, Clockwork automations are powered by a permissionless network of independent node operators. To join the workernet, you can install the Clockwork geyser plugin and request an earlybird token delegation in the workernet channel on Discord.
- Occassionally, a new 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!