-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
3c347a2
commit 1779def
Showing
1 changed file
with
77 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |