From 2b6509dc96f5572b75490b4cb1bbef9921b39f13 Mon Sep 17 00:00:00 2001 From: MicaiahReid Date: Fri, 14 Jun 2024 16:23:41 -0400 Subject: [PATCH] snapcraft.yaml --- snapcraft.yaml | 67 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 60 insertions(+), 7 deletions(-) diff --git a/snapcraft.yaml b/snapcraft.yaml index 04c893132..d0c8be750 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -1,16 +1,63 @@ name: chainhook -version: git summary: A reorg-aware indexing engine for the Stacks and Bitcoin blockchains. -description: Chainhook is 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 -architectures: - - build-on: [amd64] - build-for: [amd64] -confinement: devmode +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: ./ @@ -21,4 +68,10 @@ parts: apps: chainhook: - command: chainhook + command: bin/snapcraft-preload $SNAP/chainhook + plugs: + - network + - network-bind + - mount-observe + - home + - desktop