forked from hirosystems/chainhook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
snapcraft.yaml
77 lines (72 loc) · 2.94 KB
/
snapcraft.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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