Skip to main content

autocorns

A team of Crypto Unicorns bots

Disclaimer

I invoke autocorns to help my unicorns. You may choose to invoke autocorns to help your unicorns, too. If you do choose to call upon autocorns, know that you are doing so at your own risk. I am not liable or responsible for any damage or losses you may incur.

autocorns expect your account credentials to be stored as an Ethereum keystore file and for you to have access to the corresponding password. If you do not know what this means, you probably shouldn't call upon the autocorns.

Installation

autocorns is written in Python and uses:

  1. moonworm
  2. brownie

You can install autocorns by running:

pip install autocorns

Bots

The Dark Forest Warden

The Dark Forest Warden escorts Crypto Unicorns safely through the Dark Forest.

To call on the Warden to help your unicorns (42, 69, and 420, say), use this spell:

autocorns warden \
    --network matic \
    --sender <path to keystore file> \
    --max-fee-per-gas "40 gwei" \
    --max-priority-fee-per-gas "30 gwei" \
    --confirmations 5 \
    --corns 42 69 420

You will be prompted to unlock your keystore with the password before the transactions are submitted.

The Biologist

The Biologist can be used to inspect information about unicorn genetics and breeding.

To get this information, the Biologist crawls genetic data directly from the Crypto Unicorns smart contract. It also queries the Moonstream database for some information.

Commands that use Moonstream data will require setting up a Moonstream account and loading the appropriate query into your account. If you need help with this, ask the Moonstream team on Discord.

Checkpointing

All Biologist subcommands that crawl data from the blockchain support checkpoints. This means that you can start a crawl and then update it over time in case you get rate limited by your web3 provider or you want to add data about new unicorns.

The --checkpoint argument allows you to load an existing checkpoint.

Any subcommand that supports --checkpoint also allows you to set the --update-checkpoint flag which will update the checkpoint file in place with any new crawled data.

Unicorn DNAs

To build a JSON Lines file containing the DNAs of each unicorn:

autocorns biologist dnas \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --start <starting token ID> \
    --end <ending token ID> \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    >dnas.json

To resume crawling from a previously stored DNAs file:

autocorns biologist dnas \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --start <starting token ID> \
    --end <ending token ID> \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    --checkpoint dnas.json \
    --update-checkpoint

Unicorn metadata (lifecycle stages, classes)

To retrieve the classes and lifecycle stages of unicorns, use:

autocorns biologist metadata \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --start <starting token ID> \
    --end <ending token ID> \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    >metadata.json

To resume crawling from a previously stored metadata file:

autocorns biologist metadata \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --start <starting token ID> \
    --end <ending token ID> \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    --checkpoint metadata.json \
    --update-checkpoint

Number of mythic body parts per unicorn

To calculate the number of mythic body parts per unicorn, we need the DNAs of those unicorns as an input. Therefore, this command depends on the output of the autocorns biologists dnas command.

NOTE: Since unicorn eggs do not officially have body parts, and since solidity does not have any other way of handling null values, eggs show up as having 6 mythic body parts. The merge command (described below) takes care of this. But if you are just using the file produced by this command, then this is something that you will also have to handle.

Once you have written the output of autocorns biologists dnas to a file, say dnas.json, you can invoke this command as:

autocorns biologist mythic-body-parts \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --dnas dnas.json \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    >mythic-body-parts.json

To resume crawling from a previously stored checkpoint:

autocorns biologist mythic-body-parts \
    --network matic \
    --address 0xdC0479CC5BbA033B3e7De9F178607150B3AbCe1f \
    --dnas dnas.json \
    --num-workers <number of threads to crawl with> \
    --timeout <number of seconds to wait before timing out> \
    --checkpoint mythic-body-parts.json \
    --update-checkpoint

Merging into a single file

You can use the autocorns biologist merge command to merge metadata and mythic body parts information into a single file.

The merge command correctly sets the number of mythic body parts for unicorn eggs to 0 (from the default of 6 that comes from the smart contract).

To run this command:

autocorns biologist merge \
    --metadata metadata.json \
    --mythic-body-parts mythic-body-parts.json \
    >merged.json

Metadata

Release files for autocorns 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autocorns 0.0.7
File Size Uploaded Provenance Actions
autocorns-0.0.7.tar.gz 353.6 kB Without provenance Details for autocorns-0.0.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for autocorns 0.0.7
File Interpreter ABI Platform Actions
autocorns-0.0.7-py3-none-any.whl Python 3 none any Details for autocorns-0.0.7-py3-none-any.whl

Total release size: 749.5 kB

Release files / autocorns-0.0.7.tar.gz

Download URL autocorns-0.0.7.tar.gz
Size 353.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4520558d0ea5ddd9dc81477fc043cea7ae57a3289ad7d29cdb10a396f847a556
BLAKE2b-256 checksum
How to use checksums
17694b025bd85d63d5ed99205f517dfccd4e096cb6e53564a1bd6ba956c9e1ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.6

Release files / autocorns-0.0.7-py3-none-any.whl

Download URL autocorns-0.0.7-py3-none-any.whl
Size 395.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
439df5003d33ab4fb5f52240dc4e7bc0840d672905de333cf451950d6ba80c26
BLAKE2b-256 checksum
How to use checksums
341bc253d0a2e8a74f52b43b2a487e86283a8518f01a56a93ee6d2d713959d9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.6

Security for autocorns 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page