/outserv

Blockchain Search with Dgraph GraphQL APIs

Primary LanguageGoOtherNOASSERTION

Outserv: Blockchain Search with GraphQL APIs

Note (Dec 13, 2022): 0xfast.com doesn't use Outserv directly. Outserv is not being actively maintained.


Outserv enables you to run production grade GraphQL Search APIs over any blockchain data 10x faster than existing mechanisms.

Outserv is the only system which combines the power of a search engine, a cache engine and a GraphQL layer, thus replacing three different systems in production.

With a single executable binary, Outserv makes it trivial for anyone to bring up a production grade GraphQL tech stack -- which I consider to be an important step towards web3 decentralization.

Demo

An Outserv server with first 14.5M polygon blocks is running here: https://poly.0xfast.com/graphql . You can point any GraphQL editor to this address to get the full schema.

curl -XPOST https://poly.0xfast.com/graphql -H "Content-Type: application/graphql" -d '{queryLog(filter: {address: {eq: "0x5e1ddf2e5a0ecdd923692d4b4429d8603825a8c6"}}, first: 10) { address, topics, data, blockNumber }}'

Latest Release

  • The latest release of Outserv is v22.07, codenamed webb.
  • Latest release is in release/v22.07 branch.

Important Links

Five Reasons Why You Should Choose Outserv over Cloud API Services

  1. Having control over your own API server and blockchain node is the holy grail of decentralization -- the big leap that web3 has over web2.
  2. Never run into rate limits, ever again.
  3. Not only is Outserv high-performant, having a dedicated system running closer to edge, just for your usage, would always outperform far-away cloud API servers where your queries have to compete for resources against all others.
  4. Data is no one-size-fits-all. Enrich the blockchain data by adding more context, combining data from multiple sources to allow for better searches.
  5. For medium to heavy workloads, Outserv would be way cheaper than paying for various Cloud API access.

Bugs / Feature Requests

To report bugs or request features, please use GitHub issues. Please do answer these following questions:

  1. What is the problem you are trying to solve for?
  2. What did you do?
  3. What did you expect to see?
  4. What did you see instead?

License

This project, as a whole, is licensed under the terms of the Sustainable License v1.0. A copy of the Sustainable license is available in LICENSE.md. You can see the reasoning behind Sustainable License and the FAQs here.

The monetization model mentioned in the Sustainable License is explained here.

Certain portions of this project are licensed by contributors or others under the terms of open source licenses such as the Apache License v2.0.