/clockwork

Smart-contract automation on Solana.

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

Clockwork

Solana automation engine

code scan Discord Chat License

Deployments

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

SDKs

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

Notes

  • 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.

Getting Started

Local Development

1. Install clockwork-cli.

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-dev

Install with cargo:

cargo install -f --locked clockwork-cli

2. Run a localnet node.

clockwork localnet

3. Stream program logs.

solana logs --url localhost

Guides & Examples


Deploying a worker

If you just want to test your smart contracts on localnet, check the previous section.

If you are a node operator looking to deploy the clockwork plugin, please talk to us for a smooth onboarding. Here's a one pager on how to be part of the automation network: https://docs.clockwork.xyz/workernet/deploying-a-worker.

Common Errors

Please refer to the FAQ.

Questions

Come build with us and ask questions on Discord!