-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
π§ͺπ³οΈβπ β£ Create test protocols/smart contract for planet generation #18
Labels
data source
data source for content generation in [HDASH-4]
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
game mechanics
Metadata for game assets/objects being pushed between Unity through our API
generator
Generating Metadata for NFTs or in-game assets
goerli
Issues relating to the ethereum components of Star Sailors, e.g. NFT, Moralis/Supabase
Comments
Gizmotronn
changed the title
Create test protocols/smart contract for planet generation
π§ͺπ³οΈβπ β£ Create test protocols/smart contract for planet generation
Nov 21, 2022
Gizmotronn
added
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
data source
data source for content generation in [HDASH-4]
goerli
Issues relating to the ethereum components of Star Sailors, e.g. NFT, Moralis/Supabase
game mechanics
Metadata for game assets/objects being pushed between Unity through our API
labels
Nov 21, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 21, 2022
β¦tend component for connecting to APIs (including with Py) for #1 Two new directories: `./Ansible` β£ Contract & build files here. Will be moved into a new folder in the root React/Next.js project, but for now I'm leaving this in a separate node project to keep things separated for easier debugging `./client` β£ Frontend client for interacting with the smart contracts in `Ansible` directory. Similar story to the directory positioning in `Ansible`. We'll migrate it over to the Node project in the root directory before merging this branch, however we will also transition as much as possible out of typescript.
Gizmotronn
added a commit
that referenced
this issue
Nov 22, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 22, 2022
This was referenced Nov 23, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 23, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 24, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 25, 2022
Gizmotronn
added a commit
that referenced
this issue
Nov 29, 2022
Gizmotronn
added a commit
that referenced
this issue
Dec 21, 2022
Gizmotronn
referenced
this issue
Dec 24, 2022
Gizmotronn
referenced
this issue
Jan 4, 2023
β¦w flask route #16 to fetch proposal data Some minor styling changes... Idea for metadata: Create an nft with all the contents of the candidate, then edit them to include some actions the player did on the candidate, then send that lazy-minted NFT as the metadata/publication contents for the Lens post. This way we can have a frontend like on the `client` dir example & automate the process of creating & updating the metadata & candidate content on the nft using Flask & Jupyter (see next commit for some more info) Done some minor fetching examples, this seems to be causing some console issues on next in `Server/frontend` so will attempt to fix those later as well
Gizmotronn
added a commit
that referenced
this issue
Jan 14, 2023
Also working on building out the frontend for #16 -> see Signal-K/Silfur#28 & Signal-K/Silfur#26 & Signal-K/Silfur#24 & Signal-K/Silfur#25 & Signal-K/Silfur#21 & Signal-K/Silfur#22 Frontend components are being built out on the signal-k/client repo: Signal-K/client#12 Contract: https://thirdweb.com/0xCdc5929e1158F7f0B320e3B942528E6998D8b25c/PlanetHelper, https://www.notion.so/skinetics/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7#73801895fc5a421bbf57801a33a775c7 Claiming mints: ```sol function verifyClaim( address _claimer, uint256 _tokenId, uint256 _quantity ) public view override { require (_tokenId == 0, 'Only first NFT is claimable'); require (_quantity == 1, 'Only 1 NFT can be claimed at a time'); } ``` Multitool base documentation: https://skinetics.notion.site/Planet-Mining-multitool-8310fa1cd188440688bbcc19692b3b67 Contract README: > # Planets > > > ## Confirmed Planets Contract > > Documentation: [https://skinetics.notion.site/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7](https://www.notion.so/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7) > > - User mints an anomaly that has appeared in their UI (for now, the webapp, later it will be the game as well) > - API searches for a token that has already been lazy minted with the TIC id of the anomaly (or the identifier of the candidate) > - If there is a token id that has the TIC Id, then claim a copy of that to the `msg.sender` (playerβs address) so they can manipulate it in-game > - If the TIC ID has never been minted before, lazy mint a new one with parameters fetched from the data source and send it to `msg.sender` > - Return the IPFS metadata > - Add some buttons that allow manipulations for the NFT (e.g. viewing (reading) metadata (e.g. image/video files, graphs). > - Graphs should be generated in a Jupyter notebook and returned in the Next app. > - User creates post (proposal [Proposal Board β Migration from Vite](https://www.notion.so/Proposal-Board-Migration-from-Vite-2e3ef95e384d4ac1875e0dbbe9a59337)) with the NFT ID for their anomaly and some extra metadata for their discoveries and proposal, and then users can vote > > ## Planet/Node candidates > > (Where node refers to any type/class/collection of object that is part of the classification process. E.g. the TESS planets collection, mining/seismic data collection, etc) > Simple flow: Contract for unconfirmed planet β created via Deepnote flask > Once confirmed β lazy mint on existing goerli contract > Mining multitool helper > > # PlanetContractAddress > > Address for the collection of planets/node candidates that have been confirmed and lazy-minted. > The process for this in the Star Sailors wrapper is as follows: > > 1. Player mints an anomaly, which is an ERC1155 drop that is lazy-minted. The player requests a new planet, a random TIC id is assigned, our Flask API on Deepnote searches for an NFT in the first drop with that TIC ID. If none is found, a new NFT is lazy minted on that collection with data from the Lightkurve python module. > 2. User/Player then has a candidate (unconfirmed node object) in their wallet and on the web application frontend, they're redirected to a special planet `{...id}` page where they can interact with and view the candidate. > 3. Once the user has made a decision as to the status of the node candidate, they then create a Proposal (first on the [threaded comments via Supabase](https://www.notion.so/Threaded-Comments-8374255ed9314473b044db150fb13c36) and then on [Lens](https://github.com/signal-k/client)). The contents of this proposal are [outlined here](https://www.notion.so/Threaded-Comments-8374255ed9314473b044db150fb13c36). > 4. An NFT of this proposal is minted and then a new NFT is lazy minted from [this collection](notion://www.notion.so/skinetics/0xdf35Bb26d9AAD05EeC5183c6288f13c0136A7b43) (**note -> this is a demo. Will be updated). This new lazy-minted NFT will contain a link to the candidate node the proposal was created from, the proposal, and all the traits the user has filled in for the node once they have been cross-referenced with the proposal, voters and the python module that has the dataset (in this case, Lightkurve on Deepnote). This collection is the one referenced to in this contract (`planetNftCollectionAddress`). This planet can then have actions performed on it and rewards/items generated via [the minerals contract](notion://www.notion.so/skinetics/0xE938775F4ee4913470905885c9744C7FAD482991). Threads docs: https://skinetics.notion.site/Threaded-Comments-8374255ed9314473b044db150fb13c36
Gizmotronn
added a commit
to Signal-K/client
that referenced
this issue
Jan 16, 2023
The frontend view currently only allows staking to be done if the player has an NFT from the planets collection. This should be improved where the staking (aka helper/planetHelper) contract also has this require function. As per the [Star Sailors Web Flow Demo](https://www.notion.so/Star-Sailors-Web-Flow-Demo-d2b9180a577144f9a523e045d429076a) roadmap, we need to determine what is actually being staked (multiple nft collections at a time?) β the planet, the multitool, or something else? For Signal-K/sytizen#18 & Signal-K/sytizen#6 Notion: https://skinetics.notion.site/Planet-Mining-multitool-8310fa1cd188440688bbcc19692b3b67
Gizmotronn
added a commit
that referenced
this issue
Jan 16, 2023
Gizmotronn
added a commit
that referenced
this issue
Jan 19, 2023
β¦nnection/handling for web3 interaction Signal-K/Silfur#28 Signal-K/Silfur#26 Signal-K/Silfur#25 #18 #6 Signal-K/Silfur#24
Gizmotronn
added a commit
that referenced
this issue
Jan 20, 2023
β¦pyter for matplotlib manipulations https://www.notion.so/skinetics/January-Week-3-8dcc344a601842959a025940a90c1cc4#6b761b8a793041e1972ad2ecba5b93f0 NFT integration: #18 #6 #1 Signal-K/Silfur#28 -> contract calls Frontend API interaction: #16 Signal-K/Silfur#29 -> handled with Supabase in Gizmotronn/comments@9e70ab0 Signal-K/Silfur#26 Signal-K/Silfur#25 -> starting to implement proposals board in Next with Supabase, then will build in contract calls for web3/eth interaction Signal-K/Silfur#24 Signal-K/Silfur#22 -> minting will now be handled by a minimal UI & the API wrapper in Server/thirdweb_handler & moralis_handler Signal-K/Silfur#21 -> custom post types and fields are in Signal-K/client@4cff28c & Signal-K/client@5ce80a5 & Signal-K/client@c950d66, so we're starting off with building it on postgres before adding Lens interactions Signal-K/Silfur#3
Gizmotronn
added a commit
that referenced
this issue
Jan 21, 2023
β¦and docs around the blueprint structure Currently we're only able to export the notebooks to graph images (to then be sent to Postgres) via Deepnote, so I've started building a simple Flask wrapper on Deepnote that will communicate with the main Flask app here: https://deepnote.com/workspace/star-sailors-49d2efda-376f-4329-9618-7f871ba16007/project/Untitled-project-dca7e16c-429d-42f1-904d-43898efb2321/%2Fmain.py I've done some more work on the client, so the next step is getting Flask to read user interactions and prepare them to be saved into the database for their planets' stats. #1 #16 #18 Signal-K/Silfur#26 Signal-K/Silfur#24 Signal-K/Silfur#25
Gizmotronn
added a commit
to Signal-K/client
that referenced
this issue
Jan 24, 2023
We've got some 3d planets being rendered in javascript, these are based on the initial C# algorithms in Signal-K/starsailors#4, Signal-K/starsailors-boilerplate#1 We've got some plans to generate nfts from this: Signal-K/sytizen#18. The models here are based on the C# model, we'll have an API call setup later so that they're both equivalent to each other directly. Next step is setting up some image exports and saving user data, providing a way for users to export the 3JS graphic to their Supabase storage row. That will be commenced later on tonight. All the fields will be set to be callable via an API & we will compare the output of different Deepnote graphs generated from `lightkurve` to provide further adjustments to either end. One issue is that on the frontend for the generator, some of the components aren't selectable. This is because the original example components were built for a much older version of React>Next. Since these will be callable via a custom API, and the editor will be changed to be a form, that won't be an issue. Docs available at the central issues on signal-k org Signal-K/marketplace#19 Signal-K/marketplace#3 Signal-K/marketplace#7 Signal-K/Silfur#26 -> These will be added to posts on the image/comment sharing part of the site (and later on Lens -> team members can refer to the roadmap) so that will be routed internally.
Gizmotronn
added a commit
to Signal-K/client
that referenced
this issue
Jan 25, 2023
Changelog: Moved the gallery components into the offchain account section. Added new feature where users can take a screenshot of the planet they've created Currently, the screenshot is saved as an image URI string (see bottom of commit for e.g.), which is a problem as it is then uploaded to Supabase as a URI. What we need to do is convert the URI to an image inside the app (without saving it as a file on the app (as in a png file being saved next to the jsx file). This could be done before it's uploaded to Supabase, or when it's retrieved... Signal-K/sytizen#18 Signal-K/sytizen#16
Gizmotronn
added a commit
that referenced
this issue
Jan 30, 2023
Gizmotronn
added a commit
to Plikt/automatingMetadata
that referenced
this issue
Feb 1, 2023
Gizmotronn
added a commit
to DeSci-md/automating-metadata
that referenced
this issue
Feb 17, 2023
β¦g repo structure and flask boilerplate from signal-k/sytizen (derived from issue: Signal-K/sytizen#18)
Gizmotronn
added a commit
to Signal-K/client
that referenced
this issue
Feb 20, 2023
Users can now navigate to `/planets/{$planetID}` to see information relating to their planet, including datasets, articles, a sandbox, basic stats/info, a gallery, and a generator. Generator: Signal-K/sytizen#18 Right now it's just the same generator script, but eventually it will take in the fields like radius from the table the page itself is generated from. We'll update the frontend fields to use a UI based on the <Card /> component we've designed for the Profile pages. users will be able to edit these fields and create a fork of the anomaly in its dataset sandbox for use in their own projects, and this can be part of the "XP" demo for "citizen science points" to mimic the behaviour of the reputation erc20 token: Now that staking has been re-added, time to close #18 Signal-K/sytizen#16 Profile pages Signal-K/sytizen#13 Signal-K/sytizen#6 -> Generator & staking Signal-K/sytizen#1 -> sandbox & generator Signal-K/Unity-Demo#28 Signal-K/Unity-Demo#5 Signal-K/starsailors#4 -> user input on anomalies Signal-K/Silfur#26 Signal-K/Silfur#25 -> Some small changes with the Thirdweb module behaviour, still yet to commence full re-integration now though Signal-K/Silfur#24 Signal-K/Silfur#22 -> Replacing "mint" FOR NOW with just a "claim" button that sends the planet to your supabase table inventory (array/foreign key in 'profiles' table Signal-K/Silfur#21 Signal-K/Silfur#12 -> Keep an eye on this, but for now this is deprecated Signal-K/Silfur#3 -> Again keep an eye on the original card game contract, but until we commence the full re-integration of the smart contracts, this is not needed Signal-K/Silfur#30 -> This is working a treat Signal-K/Silfur#29 -> Now need to add true threaded comments & integrate it with sandbox items Full notes available here: https://www.notion.so/skinetics/February-Flow-Planets-8c864b66147c447f82136772336e9bc6?pvs=4#09b8260b2360412683ef5935309fd011
Gizmotronn
added a commit
to DeSci-md/automating-metadata
that referenced
this issue
Feb 20, 2023
This was referenced Feb 20, 2023
Gizmotronn
added a commit
that referenced
this issue
Mar 6, 2023
Gizmotronn
added a commit
that referenced
this issue
Mar 8, 2023
β¦in signal-k/client) Signal-K/Silfur#24 -> now user inputs from /client/planets -> "CreatePlanet" can be sent and received in Flask #32 -> Flask will receive inputs and generate a TIC id based on the inputs #30 -> We'll set up a python call to the IPFS page on /client #18 -> Thirdweb/moralis package to call contract functions (which are defined in the IPFS bucket/postgres (centralised) db
Gizmotronn
added a commit
that referenced
this issue
Mar 16, 2023
β¦g its TIC stats from Lightkurve in #18
Gizmotronn
added a commit
that referenced
this issue
Mar 17, 2023
Gizmotronn
added a commit
to Signal-K/planetarium
that referenced
this issue
Jun 7, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
data source
data source for content generation in [HDASH-4]
documentation
Improvements or additions to documentation
duplicate
This issue or pull request already exists
game mechanics
Metadata for game assets/objects being pushed between Unity through our API
generator
Generating Metadata for NFTs or in-game assets
goerli
Issues relating to the ethereum components of Star Sailors, e.g. NFT, Moralis/Supabase
Create new planets (including planet NFTs) based on users' performances in mini-games (some of which will be 100% smart contract-based
Let's augment these with DAO integrations
https://skinetics.notion.site/Base-P2L2E-Game-structure-17015f978aa7465d8c6047ac593b021d
Linear info:
https://linear.app/star-sailors/issue/STA-25/create-test-protocolssmart-contract-for-planet-generation
Id: STA-25
The text was updated successfully, but these errors were encountered: