We propose APIS, a middleware protocol for the functioning of a decentralized read-write protocol, allowing for the mainstream growth of a fully decentralized finance and decentralized web architecture. Current data index and querying solutions are either centrally architected, reliant on a party who at all times is subject to numerous performance and regulatory risks, or logically decentralized, thus requiring an in-depth knowledge of the public blockchain protocol layer and obscuring the majority of global developers from interacting with public blockchain infrastructure. APIS is architecturally decentralized, in that the providers of the endpointed data can be any actor joins the APIS network, but logically centralized, in that client-side developers will be able to reference common, frequented API formatting structures, namely RESTful and GraphQL endpoints, to query datasets generated by public blockchains.
Current Decentralized Application Architecture
APIS Network Message Propagation Protocol
APIS RG Comversion Time across internal practical tests
- APIS Core Contracts
APIS Network Ethereum Layer-One and Layer-Two Architecture
- Governance Contract (GC)
- Dispute Resolution Contract (DRC) Factory
DRC Factory Simplified Architecture.
Customized Payment Transaction Structure
- Optimistic Rollup Contract
Customized Node State Update Transaction Field.
Superfluid API Composition.
-
Token Distribution Community Ownership
-
Discussion
-
Appendix Analysis of REST versus GraphQL
- REST History and Analysis
- Client-Server Architecture
- Statelessness
- Cacheability
- Layered Architecture
- Uniform Interface
- Identification of Resources
- Manipulation of Resources through Representation
- Self-Descriptive Messages
- Hypermedia as the Engine of Application State
- Code on Demand
- REST APIs in Practice
- The Endpoint
- The Method
- GET
- POST
- PUT
- PATCH
- DELETE
- The Headers
- The Data (or Body)
- Request
- Response
- REST History and Analysis
REST API Response.
- Strengths and Weaknesses of REST
- Strengths
- Flexible across languages and frameworks
- High interpretability
- Server-side Logic
- Weaknesses
- Multiple Round Trip (Latency)
- Verbose
- Security with Multiple Endpoints
- Documentation
- Updates
- Strengths
- GraphQL History and Analysis
- GraphQL as a ‘Fetching Tree’
- Anatomy of a GraphQL Request
- Scalars
- Objects
GraphQL Request.
- Note on GraphQL Resolvers
GraphQL Response
- Direct Comparison
- Multiple Round Trip (Latency)
- Verbose
- Security with Multiple Endpoints
- Documentation
- Weaknesses of GraphQL
- Schema Design
GraphQL Schema Prefixing.
GraphQL Schema Stitching.
- Certification and Authorization
- Routing Design
- Error Handling
- Bibliography