Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/block 2260 merge upstream changes for ultra firehose antelope #10

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4ebd4d1
fix decoding panic by double checking variant type bounds (#97)
fschoell Nov 9, 2023
b8c3e68
update firehose-core to v0.2.1 (#99)
fschoell Nov 9, 2023
c0ad21c
bump firehose-core to v0.2.2 (#100)
fschoell Nov 10, 2023
9565470
add buf yaml (#101)
YaroShkvorets Nov 13, 2023
03a93ac
bump firehose-core to v0.2.3 (#102)
fschoell Nov 14, 2023
72f7699
bump firehose-core to v0.2.4 (#104)
fschoell Dec 6, 2023
e5800f8
remove unused proto dependency on generate (#106)
fschoell Dec 12, 2023
1647451
upgrade to firehose-core v1.0.0 (#107)
fschoell Dec 14, 2023
1de921f
add Silkworm poller for Antelope EVM (#108)
fschoell Dec 14, 2023
be58954
Bump github.com/libp2p/go-libp2p from 0.26.3 to 0.27.8 (#109)
dependabot[bot] Dec 18, 2023
deff673
add workaround for missing finalized query on eos evm (#110)
fschoell Dec 18, 2023
d12d908
enable multitests for the consolereader (#111)
fschoell Dec 22, 2023
a9bc45d
Bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#112)
dependabot[bot] Dec 22, 2023
e6c7d5a
add check-blocks tool to check merged blocks for decoding issues (#114)
fschoell Jan 2, 2024
4309f0d
fix check-blocks starting at block 0 (#115)
fschoell Jan 2, 2024
a102c71
add block sanitize function for comparisons (#116)
fschoell Jan 3, 2024
c8fd828
add leap 5.0 test data (#117)
YaroShkvorets Jan 8, 2024
ac4205f
bump firehose-core to v1.1.0 (#118)
fschoell Jan 25, 2024
c8a0f35
bump firehose-core to v1.1.1 (#119)
fschoell Jan 30, 2024
7e53af4
use a constant timestamp for sanitizing blocks (#120)
fschoell Jan 31, 2024
73f25e6
add missing sanitation for failed deferred transaction traces (#121)
fschoell Feb 8, 2024
6dbc9f8
bump firehose-core to v1.2.1 (#122)
fschoell Feb 19, 2024
9776117
update Readme (#123)
fschoell Feb 19, 2024
fc5f9bd
fix typos (#124)
fschoell Feb 23, 2024
0a14366
bump firehose-core to v1.2.2 (#125)
fschoell Feb 26, 2024
9b06d46
bump firehose-core to v1.2.3 (#126)
fschoell Feb 26, 2024
e90c664
bump firehose-core to v1.2.4 (#127)
fschoell Mar 1, 2024
59a41a8
bump firehose-core to v1.2.5 (#128)
fschoell Mar 20, 2024
f0e01af
Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#129)
dependabot[bot] Mar 20, 2024
41b0093
bump firehose-core to v1.3.1 (#130)
fschoell Apr 3, 2024
3842f0b
bump firehose-core to v1.3.2 (#131)
fschoell Apr 3, 2024
db6c19e
bump firehose-core to v1.3.3 (#132)
fschoell Apr 4, 2024
014d2bc
[BLOCK-2260] Fix merge conflicts
keisuke-kanao Apr 9, 2024
df7c7af
[BLOCK-2260] Remove obsolete files
keisuke-kanao Apr 9, 2024
c1a294c
[BLOCK-2260] Remove another obsolete files
keisuke-kanao Apr 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 48 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,57 @@
# Firehose on Antelope

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

This is Streamingfast's [Firehose](https://firehose.streamingfast.io) implementation adapted for Antelope chains,
effectively enabling [Substreams](https://substreams.streamingfast.io) on all Antelope chains.
This is the Antelope chain-specific implementation part of firehose-core and enables both
[Firehose](https://firehose.streamingfast.io/introduction/firehose-overview)
and [Substreams](https://substreams.streamingfast.io) on Antelope chains with native blocks.

## For Developers

To get started with Firehose and Substreams, you need to sign up on https://app.pinax.network to get yourself an api
key. You'll also find quickstarts there to get you started and all of our available endpoints (we currently provide both
Firehose and Substreams endpoints for EOS, WAX and Telos, as well as different testnets).

For connecting to **Firehose** endpoints, you'll need the Protobufs which are published on
[buf.build](https://buf.build/pinax/firehose-antelope/docs/main). Some Golang example code on how to set up a Firehose
client can be found [here](https://github.com/pinax-network/firehose-examples-go).

To **consume** Antelope Substreams, please have a look at the
[documentation](https://substreams.streamingfast.io/documentation/consume). You can also find Substreams to deploy in
our Substreams repository [here](https://github.com/pinax-network/substreams) and on
[substreams.dev](https://substreams.dev).

To **develop** Antelope Substreams, have a look at
the [documentation](https://substreams.streamingfast.io/documentation/develop) here and at the Pinax SDK for Antelope
Substreams which can be found [here](https://github.com/pinax-network/substreams-antelope).

A collection of resources around Substreams can also be found
on [Awesome Substreams](https://github.com/pinax-network/awesome-substreams).

### Subgraphs

Although The Graph does not officially support any Antelope chains yet, it's possible to write Subgraphs based on
Substreams and set up your own Graph node. You can find an
example [here](https://github.com/pinax-network/eosio.token-subgraph) on how to achieve this.

## For Operators

Please have a look at the documentation [here](https://firehose.streamingfast.io) on how to set up your own Firehose &
Substreams stack. Note that indexing larger Antelope chains such as EOS or WAX requires parallel processing of the chain
and a lot of resources to have the indexing done in a reasonable time frame.

# Usage
### EOS EVM

## Release
This implementation provides native Antelope blocks, including all Antelope specific block data. In case you are looking
for operating Firehose & Substreams for EOS EVM, please have a look at
the [firehose-ethereum](https://github.com/streamingfast/firehose-ethereum) repository; it provides a generic evm poller
to poll the EVM blocks from an RPC node.

Use the `./bin/release.sh` Bash script to perform a new release. It will ask you questions
as well as driving all the required commands, performing the necessary operation automatically.
The Bash script runs in dry-mode by default, so you can check first that everything is all right.
## Support

Releases are performed using [goreleaser](https://goreleaser.com/).
In case of any questions around the Pinax endpoints or technology, feel free to hit us on
our [Discord server](https://discord.gg/pinax). For more generic questions around Substreams, you might also find the
[Streamingfast Discord server](https://discord.gg/jZwqxJAvRs) useful.

## To run `fireantelope` and `dfuseeos`

Expand Down Expand Up @@ -74,7 +113,7 @@ dfuseeos start -c ./devel/standard/dfuse.yaml

- If not work try to update `firehose-data/reader/config/config.ini`, change `p2p-peer-address = 127.0.0.1:9876` to `p2p-peer-address = host.docker.internal:9876`

# Deployment
## Deployment

Todo: describe deployments for firehose and substreams

Expand Down
123 changes: 0 additions & 123 deletions blockfetcher/rpc.go

This file was deleted.

29 changes: 0 additions & 29 deletions blockfetcher/silkworm.go

This file was deleted.

22 changes: 0 additions & 22 deletions cmd/fireantelope/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,6 @@ func Chain() *firecore.Chain[*pbantelope.Block] {

BlockFactory: func() firecore.Block { return new(pbantelope.Block) },

//BlockIndexerFactories: map[string]firecore.BlockIndexerFactory[*pbantelope.Block]{
// transform.ReceiptAddressIndexShortName: transform.NewNearBlockIndexer,
//},
//
//BlockTransformerFactories: map[protoreflect.FullName]firecore.BlockTransformerFactory{
// transform.HeaderOnlyMessageName: transform.NewHeaderOnlyTransformFactory,
// transform.ReceiptFilterMessageName: transform.BasicReceiptFilterFactory,
//},

ConsoleReaderFactory: codec.NewConsoleReader,

RegisterExtraStartFlags: func(flags *pflag.FlagSet) {
Expand All @@ -51,28 +42,15 @@ func Chain() *firecore.Chain[*pbantelope.Block] {
flags.Bool("reader-node-overwrite-node-files", false, "Force download of node-key and config files even if they already exist on the machine.")
},

// ReaderNodeBootstrapperFactory: newReaderNodeBootstrapper,

Tools: &firecore.ToolsConfig[*pbantelope.Block]{

RegisterExtraCmd: func(chain *firecore.Chain[*pbantelope.Block], parent *cobra.Command, zlog *zap.Logger, tracer logging.Tracer) error {
//toolsCmd.AddCommand(newToolsGenerateNodeKeyCmd(chain))
//toolsCmd.AddCommand(newToolsBackfillCmd(zlog))
parent.AddCommand(newPollerCmd(zlog, tracer))
parent.AddCommand(newSilkwormPollerCmd(zlog, tracer))
parent.AddCommand(newCheckBlocksCmd(zlog))

return nil
},

SanitizeBlockForCompare: sanitizeBlockForCompare,

//TransformFlags: map[string]*firecore.TransformFlag{
// "receipt-account-filters": {
// Description: "Comma-separated accounts to use as filter/index. If it contains a colon (:), it will be interpreted as <prefix>:<suffix> (each of which can be empty, ex: 'hello:' or ':world')",
// Parser: parseReceiptAccountFilters,
// },
//},
},
}

Expand Down
85 changes: 0 additions & 85 deletions cmd/fireantelope/poller.go

This file was deleted.

Loading
Loading