croncat-rs
is the brand new version of the croncat agent, written in Rust.
croncatd
The executable agent daemon.croncat
All the pieces to build an agent daemon.
cargo install rusty-hook cargo-make
rusty-hook init
$ cargo run help
...
croncatd 0.3.0
The croncat agent daemon.
USAGE:
croncatd [FLAGS] [OPTIONS] <SUBCOMMAND>
FLAGS:
-d, --debug Debug mode
-h, --help Prints help information
--no-frills Whether to print nice little things like the banner and a goodbye
-V, --version Prints version information
OPTIONS:
--agent <agent> ID of the agent config to use [env: CRONCAT_AGENT=] [default: agent]
--chain-id <chain-id> Chain ID of the chain to connect to [env: CRONCAT_CHAIN_ID=uni-6]
SUBCOMMANDS:
all-tasks Get contract's state Show all task(s) information
generate-mnemonic Generates a new keypair and agent account (good first step)
get-agent-keys [SENSITIVE!] Shows all details about agents on this machine
get-tasks Get the agent's tasks they're assigned to fulfill
go Starts the Croncat agent, allowing it to fulfill tasks
help Prints this message or the help of the given subcommand(s)
list-accounts Get the agent's supported bech32 accounts
register Registers an agent, placing them in the pending queue unless it's the first agent
send Send funds from the agent account to another account
setup-service Setup an agent as a system service (systemd)
status Get the agent's status (pending/active)
unregister Unregisters the agent from being in the queue with other agents
update Update the agent's configuration
withdraw Withdraw the agent's funds to the payable account ID
Example:
$ cargo run -- --debug status
Clone the elys Repository and the cw-croncat repository in a separate directory
git clone git@github.com:elys-network/elys.git
git clone git@github.com:CronCats/cw-croncat.git
-
move the script from
init_croncat_contract.sh
to the cw-croncat repository -
create a directory named
.croncatd
mkdir ~/.croncatd
-
move the
agents.json
to~/.croncatd/
-
make the following change in the 'elys' repository's
config.yml
file: Within the 'accounts' section, add an entry labeled 'agent123'
accounts:
- name: agent123
coins:
- 100000000uatom
- 100000000uusdt
- 9000000000000000uelys
- 100000000ueden
mnemonic: eternal bring move black rich spatial term odor sadness weather inform just trial budget domain awkward foam minute scrub gentle appear plastic during gaze
in the elys repository:
ignite chain serve -r
in the cw-croncat repository:
sh init_croncat_contract.sh
in this repository:
- define the environent variable
export CRONCAT_CHAIN_ID=agent123
export CRONCAT_AGENT=elystestnet-1
- check if everything is alright
cargo run status
- start the node
cargo run go
cargo run go
After a while, time to claim some rewards if you've been actively processing tasks!
# Check if you have any rewards, see "Earned Rewards"
# NOTE: Also shows how much balance your agent has for processing txns
cargo run status
# Claim rewards
cargo run withdraw
- Please see CODE_OF_CONDUCT.md
- Please see CONTRIBUTING.md
For clearing the latest local cache of chain registry, rm -rf .cosmos-chain-registry
, then build.