This introduces the concept of Coprocessors: They are optional modules which run alongside the core game logic inside a GSP. They get notified about block attaches, detaches and game-state initialisation, and while the core GameLogic callbacks are executing, the user-code can access (and work with) the active coprocessors through Context.
A specific feature that this will allow is archival data: Similar to logs in the EVM, GSPs can use a coprocessor to write "append only" data such as logs of game events into some external database or storage, outside the core game state. For data that is only produced and served to frontends but not otherwise required inside the GSP for state updates, this can help to keep the core game state lean and improve scalability and performance overall.
This introduces the concept of Coprocessors: They are optional modules which run alongside the core game logic inside a GSP. They get notified about block attaches, detaches and game-state initialisation, and while the core
GameLogic
callbacks are executing, the user-code can access (and work with) the active coprocessors throughContext
.A specific feature that this will allow is archival data: Similar to logs in the EVM, GSPs can use a coprocessor to write "append only" data such as logs of game events into some external database or storage, outside the core game state. For data that is only produced and served to frontends but not otherwise required inside the GSP for state updates, this can help to keep the core game state lean and improve scalability and performance overall.