|
1 |
| -# RoboArkiver |
| 1 | +# [Arkiver](https://docs.arkiver.net) |
2 | 2 |
|
3 |
| -RoboArkiver is a highly configurable and extensible tool for indexing evm data. |
| 3 | +Fast and Fully Type-Safe Blockchain Indexer |
4 | 4 |
|
5 |
| -## Run locally |
| 5 | +# Features |
6 | 6 |
|
7 |
| -### Prerequisites |
| 7 | +- **Fast** - Maximize indexing speed by minimizing I/O and caching data in |
| 8 | + memory |
| 9 | +- **Type-Safe** - End-to-end type-safety with TypeScript |
| 10 | +- **Flexible** - Write custom handlers to process data however you want |
| 11 | +- **Ergonomic** - Minimal configuration and easy to test locally |
| 12 | +- **Multi-Chain** - Index multiple chains in a single Arkive |
| 13 | +- **GraphQL** - Serve your data via a GraphQL API |
| 14 | +- **Open-Source** - Arkiver is open-source and free to use |
| 15 | +- **Self-Hosted** - Run Arkiver on your own infrastructure |
| 16 | +- **Cloud-Hosted** - Deploy your Arkive to the Arkiver cloud |
8 | 17 |
|
9 |
| -- [deno](https://deno.land/) |
| 18 | +... and a lot more! |
10 | 19 |
|
11 |
| -### Run the arkiver locally |
| 20 | +# Overview |
12 | 21 |
|
13 |
| -1. clone the repo |
14 |
| -2. setup a supabase project |
15 |
| -3. copy .env.sample to .env and fill the supabase variables. you can omit the |
16 |
| - influxdb variables if you're not persisting the data |
17 |
| -4. run `deno task dev` |
| 22 | +```typescript title="manifest.ts" |
| 23 | +import { createEntity, Manifest } from 'https://deno.land/x/robo_arkiver/mod.ts' |
| 24 | +import { ERC20 } from './ERC20.ts' |
18 | 25 |
|
19 |
| -### Deploy an arkive |
| 26 | +const manifest = new Manifest('my-arkive') |
20 | 27 |
|
21 |
| -1. Follow |
22 |
| - [these steps.](https://github.com/RoboVault/telegraf-indexer/tree/arkive) |
| 28 | +manifest |
| 29 | + .chain('mainnet') |
| 30 | + .contract(ERC20) |
| 31 | + .addSources({ '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2': 16987011n }) |
| 32 | + .addEventHandlers({ |
| 33 | + 'Transfer': ({ logger, event }) => { |
| 34 | + logger.info(`Transfer: ${event.from} -> ${event.to}: ${event.value}`) |
| 35 | + }, |
| 36 | + }) |
| 37 | + |
| 38 | +export default manifest.build() |
| 39 | +``` |
| 40 | + |
| 41 | +# Documentation |
| 42 | + |
| 43 | +[(WIP)](https://docs.arkiver.net) |
| 44 | + |
| 45 | +# License |
| 46 | + |
| 47 | +[MIT](LICENSE) License |
0 commit comments