envio-linux-x64 2.3.2 → 2.4.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +18 -103
- package/bin/envio +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -1,117 +1,32 @@
|
|
1
|
-
# Envio
|
1
|
+
# Envio
|
2
2
|
|
3
|
-
|
3
|
+
Envio is a modern, multi-chain data indexing framework for efficiently querying real-time and historical data from any EVM blockchain and Fuel.
|
4
4
|
|
5
|
-
|
5
|
+
Designed with a core focus on delivering superior performance and seamless developer experience, Envio optimizes the user experience.
|
6
6
|
|
7
|
-
|
7
|
+
Build a real-time API for your blockchain application in minutes.
|
8
8
|
|
9
|
-
|
9
|
+
> 📖 For a thorough understanding and to dive deeper into each feature, refer to the original [documentation website](https://docs.envio.dev).
|
10
10
|
|
11
|
-
|
12
|
-
<!-- - [Features](#features) -->
|
11
|
+
## Key Features
|
13
12
|
|
14
|
-
-
|
15
|
-
-
|
16
|
-
-
|
17
|
-
-
|
18
|
-
-
|
19
|
-
-
|
13
|
+
- Simple installation & Setup
|
14
|
+
- Any EVM blockchain, as well as Fuel
|
15
|
+
- The fastest historical sync
|
16
|
+
- Real-time indexing with reorg handling
|
17
|
+
- Multi-chain support
|
18
|
+
- Write JavaScript, TypeScript, or ReScript with automatically generated types
|
19
|
+
- Detailed logging & Error messaging
|
20
|
+
- [Hosted Service](https://docs.envio.dev/docs/HyperIndex/hosted-service) to take care of your infrastructure
|
20
21
|
|
21
|
-
|
22
|
+
## Getting Started
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
For a slightly larger tutorial please see the [Greeter contract tutorial](https://docs.envio.dev/docs/greeter-tutorial).
|
26
|
-
|
27
|
-
## [Installation](https://docs.envio.dev/docs/installation)
|
28
|
-
|
29
|
-
### Prerequisites
|
30
|
-
|
31
|
-
- [Node.js](https://nodejs.org/en/download/current)
|
32
|
-
- [pnpm](https://pnpm.io/installation) on [npm](https://www.npmjs.com/get-npm)
|
33
|
-
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)
|
34
|
-
|
35
|
-
To install the `envio` tool globally, run:
|
36
|
-
|
37
|
-
```bash
|
38
|
-
npm i -g envio
|
39
|
-
```
|
40
|
-
|
41
|
-
To view the available CLI commands:
|
42
|
-
|
43
|
-
```bash
|
44
|
-
envio --help
|
45
|
-
```
|
46
|
-
|
47
|
-
## Usage
|
48
|
-
|
49
|
-
**Important Commands Overview:**
|
50
|
-
|
51
|
-
- `envio`
|
52
|
-
- `envio init` - Auto-generates configuration, GraphQL schema, and event handlers based on the Greeter template.
|
53
|
-
- `envio codegen` - Generates code after setting configuration and schema files.
|
54
|
-
- `envio start` - Start the indexer.
|
55
|
-
- `envio dev` - Starts all the processes required for local development of the indexer.
|
56
|
-
- `envio stop` - Delete the database and stop all processes
|
57
|
-
|
58
|
-
For a detailed breakdown of commands, refer to the [documentation](https://docs.envio.dev/docs/cli-commands).
|
59
|
-
|
60
|
-
## Event Handlers
|
61
|
-
|
62
|
-
After establishing the configuration and schema files, execute:
|
63
|
-
|
64
|
-
```bash
|
65
|
-
npx envio codegen
|
66
|
-
```
|
67
|
-
|
68
|
-
Custom code to make it easy to retrieve and process events from our contract is generated. More specifically every event necessitates the registration of two core functions from our generated code:
|
69
|
-
|
70
|
-
- Loader function
|
71
|
-
- Handler function
|
72
|
-
|
73
|
-
### Loader Function
|
74
|
-
|
75
|
-
Loader functions are responsible for loading specific entities (defined in `schema.graphql`) to be modified by the event. They are called in the following format:
|
76
|
-
|
77
|
-
```typescript
|
78
|
-
<ContractName>Contract_ < EventName > _loader;
|
79
|
-
```
|
80
|
-
|
81
|
-
**NOTE**: the syntax is slightly different for javascript and rescript. See [loader docs](https://docs.envio.dev/docs/event-handlers#loader-function).
|
82
|
-
|
83
|
-
### Handler Function
|
84
|
-
|
85
|
-
Handler functions modify the entities loaded by the loader function. They incorporate the essential logic for updating entities with the raw data produced by the event. They're called as:
|
86
|
-
|
87
|
-
```typescript
|
88
|
-
<ContractName>Contract_ < EventName > _handler;
|
89
|
-
```
|
90
|
-
|
91
|
-
**NOTE**: the syntax is slightly different for javascript and rescript. See [handler docs](https://docs.envio.dev/docs/event-handlers#handler-function).
|
92
|
-
|
93
|
-
For a comprehensive guide on Event Handlers, please refer to the [provided documentation](https://docs.envio.dev/docs/event-handlers).
|
94
|
-
|
95
|
-
## Logging
|
96
|
-
|
97
|
-
Logging is integral for tracking the progress and debugging issues in the indexer. Envio utilizes the [pino](https://github.com/pinojs/pino/) logging library, which can be integrated with tools like [kibana](https://www.elastic.co/what-is/kibana) to extract metrics and insights.
|
98
|
-
|
99
|
-
For user-level logging, context-based functions are provided:
|
100
|
-
|
101
|
-
- `<context>.log.debug`
|
102
|
-
- `<context>.log.info`
|
103
|
-
- `<context>.log.warn`
|
104
|
-
- `<context>.log.error`
|
105
|
-
- `<context>.log.errorWithExn`
|
106
|
-
|
107
|
-
Further details about developer logging, including log levels, can be found in the [documentation](https://docs.envio.dev/docs/logging).
|
24
|
+
Check out our [Getting Started](https://docs.envio.dev/docs/HyperIndex/getting-started) documentation to start querying your smart contract data with just a few clicks!
|
108
25
|
|
109
26
|
## Contribution & Support
|
110
27
|
|
111
|
-
🔧 This product under active development. Please always refer to the main documentation for the latest updates.
|
112
|
-
|
113
28
|
For support and updates, follow Envio on [Twitter](https://twitter.com/envio_indexer) or join the [Discord community](https://discord.gg/DhfFhzuJQh).
|
114
29
|
|
115
|
-
|
30
|
+
Please create an [issue](https://github.com/enviodev/hyperindex/issues/new/choose) in our GitHub repository if you have specific suggestions or requirements. And a star is always appreciated 💫
|
116
31
|
|
117
|
-
Our [common issues](https://docs.envio.dev/docs/common-issues) page may also
|
32
|
+
Our [common issues](https://docs.envio.dev/docs/common-issues) page may also help you.
|
package/bin/envio
CHANGED
Binary file
|