Giter VIP home page Giter VIP logo

Comments (7)

fracek avatar fracek commented on August 14, 2024 1

I believe codegen is the way to go at first. In theory it's possible to use reflection on the server to "type" the API based on the contract ABI, in practice it's 20x the effort. The benefit of the second approach is that users can use the same server binary across projects, which in turns means ryogoku (the dojo as a service project) can more easily create api servers on the fly.

from dojo.

fracek avatar fracek commented on August 14, 2024 1

grpc/protobuf is good at that because all fields are optional and devs can add or delete fields from the struct and the parser still parses them.

from dojo.

milancermak avatar milancermak commented on August 14, 2024

Is there a way to do event versioning?

One issue we ran into when building Realms is dealing with historical events and contract upgrades. Let's say you want to display combat history on the client. Every combat result is represented by a CombatOutcome event. The problem is we had to update the structure of the event (e.g. unit composition, adding/removing a field, ...) with a lot of the updates to the combat logic. We settled for a pragmatic approach of doing CombatOutcome1, CombatOutcome2, etc. whenever there was an update of the event.

from dojo.

ponderingdemocritus avatar ponderingdemocritus commented on August 14, 2024

this can be tackled now we have the manifest

from dojo.

ponderingdemocritus avatar ponderingdemocritus commented on August 14, 2024

@fracek do you want to tackle this?

from dojo.

fracek avatar fracek commented on August 14, 2024

It's not super clear to me what's going to be typed. I see that entities are exposed through graphql, so maybe that?

from dojo.

ponderingdemocritus avatar ponderingdemocritus commented on August 14, 2024

closing this as implementation path has changed

from dojo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.