moonstream-to / web3 Goto Github PK
View Code? Open in Web Editor NEWMoonstream game engine for blockchain games. Lootboxes, crafting, dropper, mini games that will enrich your game economy
Moonstream game engine for blockchain games. Lootboxes, crafting, dropper, mini games that will enrich your game economy
I actually not remember wich one window.ethereum
or window.web3
is modern now.
Current state:
[
{
"terminus_address": "0x062BEc5e84289Da2CD6147E0e4DA402B33B8f796",
"terminus_pool_id": 0,
"blockchain": "polygon"
}...
]
drops/terminus/claims?blockchain=&terminus_pool_id=&terminus_address=
endpoint and for each of combinations cache it and render to user all drops wich return thth endpoint.After refactor:
contracts:
play/contracts?blockchain=&contract_interface=Dropper
it's return:is_admin=True
in query parameters then return only contracts to which user has admin access. id=result.id,
blockchain=result.blockchain,
address=result.address,
title=result.title,
description=result.description,
image_uri=result.image_uri,
drops:
admin/drops?blockchain=&contract=&claimNumber=
and that return all drops wich user can edit in that dropper contract.admin/drops/{dropper_claim_id}/claimants
Need log in journal next kind of information:
In cli all methods output as 1 line wich not readable.
When user connected his metamask, allow him to go to /inventory page and display there list of user items (lootboxes)
useLootbox
hook that queries lootbox state and has open
and claim
useMutationsopen/claim
lootboxWe was talk about multichain:
We need mappings of networks and add wrapper of multicall contract functionality
Instead of preventing users from claiming as part of a single drop multiple times, let us associate with each claim a request ID.
This will allow projects using the Dropper contract to use a single Drop (e.g. for experience points) in perpetuity while still retaining idempotence guarantees.
sqlalchemy will try to parse the ENGINE_DB_URI
even though you are not intended to use part of the engine
which requires sql (as an example lootbox -h
, or working with smart contract part)
as an external contributor it will make me think that I need to setup postgres with required table just to start working. This might make me quit the idea of contributing.
it will be easier if anybody can do source sample.env
and directly start working and setup the vars when it is needed. (Requiring the env variable only when it is needed is the best way, but it might make a mess inside code)
setting that env variable to postgresql://localhost/mydb?user=other&password=secret
will work
supported tokens:
s3 path
{token_type}/{address}/{token_id}
each token have own storage with metadata
Create:
Add some form for select metadata.
It create S3 file.
Update.
Sopose take list of id and select metadata for them
/batchsign
response<job_id>\status
for return to fronted current state of refetch signature task.take signAccessToken =
function and release it as npm package that takes address string and duration argument and returns token
Current frontend uses hardcoded values, make them env variables similarly how it is done in engine.moonstream.to
setup deployment workflow to deploy to play.moonstream.to with production enviroment variables
setMetadata
useMutate hookPlayers should be able to visit our supported games at https://play.moonstream.to.
One of the supported games should be Crypto Unicorns.
First view for players should be a view that allows them to stash UNIM and RBW into the Crypto Unicorns game.
Method to call is stashUNIMAndRBW
.
A single Terminus contract + pool pair that determines addresses which can create drops on the contract and modify those drops in the API.
We should also add an endpoint like this:
curl -X POST /drops/claimants/diff -H "Content-Type: application/json" -d '[{"address": "<claimant_address>", "amount": <claimant_amount>}]'
This would calculate diff of request body list with the list of claimants in database.
It would display to the user the claimants who are in DB but not in list and the ones who are in list but not in DB.
"address"
and "amount"
.activate
, deactivate
We want to be explicit for user whether data he entered will be saved or not .
Implement simple landing page similar to current engine.moonstream.to with prompt connect to metamask and four cards/links:
Make sure landing page has links to our Support/Discord, Github (can be in navbar/footer)
resolved with #68
There should be an API that returns:
Can we identify wallets who are stashing/unstashing directly from contract? Or the ones only using CU game mechanics?
Terminus:
Fix cli showing only inactive dropps.
Add in conflict just skip.
Add claim_id in get_claims.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.