aiken/examples/hello_world
KtorZ c711a97e69 Throttle calls to package registry for version resolution
The 'HEAD' call that is done to resolve package revisions from
  unpinned versions is already quite cheap, but it would still be better
  to avoid overloading Github with such calls; especially for users of a
  language-server that would compile on-the-fly very often. Upstream
  packages don't change often so there's no need to constantly check the
  etag.

  So we now keep a local version of etags that we fetched, as well as a
  timestamp from the last time we fetched them so that we only re-fetch
  them if more than an hour has elapsed. This should be fairly resilient
  while still massively improving the UX for people showing up after a
  day and trying to use latest 'main' features.

  This means that we now effectively have two caching levels:

  - In the manifest, we store previously fetched etags.
  - In the filesystem, we have a cache of already downloaded zip archives.

  The first cache is basically invalidated every hour, while the second
  cache is only invalidated when a etag changes. For pinned versions,
  nothing is invalidated as they are considered immutable.
2023-09-13 17:17:32 -04:00
..
validators Cargo fmt 2023-08-07 19:00:39 -04:00
.gitignore feat(cli): rework uplc subcommands 2023-06-01 23:50:59 -04:00
README.md update cli documentation 2023-03-07 19:15:03 -05:00
aiken.lock Throttle calls to package registry for version resolution 2023-09-13 17:17:32 -04:00
aiken.toml Fix acceptance tests to use new syntax. 2023-02-19 10:10:40 +01:00
generate-credentials.ts Small tweaks on the hello_world examples. 2023-03-08 09:47:08 +01:00
hello_world-lock.ts Small tweaks on the hello_world examples. 2023-03-08 09:47:08 +01:00
hello_world-unlock.ts Small tweaks on the hello_world examples. 2023-03-08 09:47:08 +01:00
plutus.json feat(cli): rework uplc subcommands 2023-06-01 23:50:59 -04:00

README.md

Hello, World!

An example of an Hello, World! contract using Aiken and Lucid.

See the full tutorial on aiken-lang.org.

Building

aiken build

Generating Credentials

deno run --allow-net --allow-write generate-credentials.ts

Locking Funds

Warning Require BLOCKFROST_API_KEY environment variable to be set.

deno run --allow-net --allow-read --allow-env hello_world-lock.ts

Unlocking Funds

Warning Require BLOCKFROST_API_KEY environment variable to be set.

deno run --allow-net --allow-read --allow-env hello_world-unlock.ts TRANSACTION_ID_FROM_LOCK