From 1779def7b2b58c8399171ed28765c629fed0dff1 Mon Sep 17 00:00:00 2001 From: Micaiah Reid Date: Mon, 1 Jul 2024 13:57:51 -0400 Subject: [PATCH] ci: add snapcraft.yaml (#607) --- snapcraft.yaml | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 snapcraft.yaml diff --git a/snapcraft.yaml b/snapcraft.yaml new file mode 100644 index 000000000..d0c8be750 --- /dev/null +++ b/snapcraft.yaml @@ -0,0 +1,77 @@ +name: chainhook +summary: A reorg-aware indexing engine for the Stacks and Bitcoin blockchains. +description: | + Blockchains serve as foundational infrastructure that unblocks new use + cases and introduces a new generation of decentralized applications by + relying on a public ledger. + `chainhook` is a reorg-aware transaction indexing engine that helps + developers get reliable blockchain data, regardless of forks and + reorgs. By focusing only on the data devs care about, Chainhook helps + developers work with much lighter datasets and build IFTTT logic into + their applications. + Chainhook can be used as a tool in your local development environment + and as a service in the cloud environment. + + Key Features: + - **Faster, More Efficient Indexing:** Instead of working with a + generic blockchain indexer, taking hours to process every single + transaction of every single block, developers can create their own + indexes, build, iterate, and refine them in minutes. Chainhook can + help developers avoid massive storage management and storage scaling + issues by avoiding full chain indexation. Lighter indexes imply faster + query results, which helps minimize end-user response time. This leads + to an enhanced Developer Experience and an improved End-User + Experience. + - **Re-org and Fork Aware:** Chainhook keeps a store of possible chain + forks and checks each new chain event against the forks to maintain + the current valid fork. All triggers, also known as **predicates**, + are evaluated against the current valid fork. In the event of a reorg, + Chainhook computes a list of new blocks to apply and old blocks to + rollback and evaluates the registered predicates against those blocks. + - **IFTTT Logic, powering your applications:** Chainhook helps + developers create elegant event-based architectures using triggers, + also known as **predicates**. Developers can write “if_this / + then_that” **predicates**that when triggered, are packaged as events + and forwarded to the configured destination. By using cloud functions + as destinations, developers can also cut costs on processing by only + paying for processing when a block that contains some data relevant to + the developer's application is being mined. +adopt-info: chainhook-version + +base: core22 +confinement: strict + + +parts: + chainhook-version: + plugin: nil + source: . + override-pull: | + craftctl default + craftctl set version=$(git describe --tags --abbrev=0) + snapcraft-preload: + source: https://github.com/sergiusens/snapcraft-preload.git + plugin: cmake + cmake-parameters: + - -DCMAKE_INSTALL_PREFIX=/ + build-packages: + - on amd64: + - gcc-multilib + - g++-multilib + chainhook: + plugin: rust + source: ./ + build-packages: + - libssl-dev + - pkg-config + - libclang-11-dev + +apps: + chainhook: + command: bin/snapcraft-preload $SNAP/chainhook + plugs: + - network + - network-bind + - mount-observe + - home + - desktop