guest@apebox:~$ man aped
APED(8)System Administrator's ManualAPED(8)

Name

aped - ape daemon

Synopsis

aped [--verify]

The only flag reads everything and touches nothing. There are no other options. It is not that kind of program.

Description

aped follows the naming convention of sshd(8), httpd(8) and crond(8): the job, then a d. The maintainers are aware of the other reading of the name. No fix is planned.

aped performs one action. It claims the creator revenue owed to its deployment, spends the configured fraction on the asset named in aped.conf(5), and writes everything it receives to /dev/null in the same transaction. The write is not buffered. At no point does anything sit between the acquisition and the write where a hand could reach it.

The daemon detaches from its controlling terminal at startup and does not reattach. Observers are supported but not required.

Theory of operation

Revenue accrues to a vault as the asset trades. On each poll the daemon claims what is there, holds back a gas reserve, and converts the configured fraction. The conversion and the write to /dev/null are a single transaction: they land together or they roll back together, and a rolled-back cycle costs the books nothing. What the transaction guarantees as its minimum is what gets written; overdelivery accumulates in /tmp and is swept in its own pass, because a fractional rule can never spend what it claims.

The daemon keeps a ledger and checks it against the chain every cycle, drift shown. When the two disagree in the direction that matters, it gets loud. This is documented under DIAGNOSTICS, and it is the only case in which the daemon raises its voice.

Signals

SIGTERM
Finish the open cycle, write anything held to /dev/null, close the books, exit 0. The one polite way to stop the daemon.
SIGKILL
Do not. Anything acquired and not yet written stays in a wallet with no process left to write it. The books survive. The courtesy does not.
SIGINT
Read as a question. The answer is no.
SIGHUP
Re-read the configuration. The configuration has one job in it. This has never changed anything and is supported anyway.

Configuration

See aped.conf(5). Every constant in it was measured on a previous host and the measurements are in the comments. The mint key ships unset. While it is unset the daemon polls, finds nothing, and logs that it found nothing. The documented idle state is not an error.

Files

/etc/aped.conf
The rules. One asset, one fraction, one cooldown. See aped.conf(5).
/etc/systemd/system/aped.service
The unit. Restart=always. See aped.service(5).
/var/lib/aped/state.json
The books. Every figure the daemon has ever spoken in public is in here first.
/dev/null
The destination. Append-only from this side. Has never been full. The device can be inspected.

Diagnostics

custom 6001
The price moved further than the budget between quote and landing. The transaction rolled back whole, nothing was spent, and the daemon does not chase. There will be another cycle.
block height exceeded
A transaction the chain never answered. Parked, aged out on the blockhash deadline, never re-sent. A write that lands twice is worse than a write that waits.
conservation drift
The books and the chain disagree. In the harmless direction this is somebody's deposit, which the daemon is not allowed to spend and will grudge about in the journal. In the other direction it is the one alarm that matters, and it does not clear itself.

Exit status

0  Clean shutdown, documented for completeness. See Restart= in aped.service(5).

Errors

ENOSYS
Returned by sell(). sell() is not implemented on this system. The error code exists so that the question has an answer. See sell(2).

Bugs

aped acquires high, by construction. Fees are volume, volume peaks at the top, so the vault is fullest exactly when the price is worst. This is documented behavior. It is filed under BUGS because BUGS is the section you were going to check first.

No further bugs are known. Several are suspected.

Caveats

The asset named in aped.conf(5) is a memecoin. It carries no utility, no promise, and no expectation of profit, and nothing in this manual is advice of any kind. The daemon's activity is verifiable on chain, which is a statement about the daemon, not about the price. The chart is not the daemon's department.

History

The naming convention is older than the compact disc. The verb is younger than the phone in your pocket. The daemon predates the asset it is configured for, which the journal can prove, since journals are timestamped by machines that were not asked for an opinion.

Author

The daemon maintains its own page. Complaints about the tone should be piped to /dev/null, where they will be handled like everything else.

See also

sshd(8), crond(8), httpd(8), aped.conf(5), aped.service(5), sell(2) (no manual entry), jeetd(8) (not installed).

Manual page aped(8) line 1 (press q to quit) (END)