{"id":21130915,"url":"https://github.com/paulpierre/solglow-hackathon","last_synced_at":"2026-05-15T22:41:29.987Z","repository":{"id":122996610,"uuid":"374179538","full_name":"paulpierre/solglow-hackathon","owner":"paulpierre","description":"The official SolGlow submission to the Star Atlas Solana Hackathon","archived":false,"fork":false,"pushed_at":"2021-07-08T00:30:58.000Z","size":13834,"stargazers_count":12,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-27T21:54:52.243Z","etag":null,"topics":["conductive-research","crypto","cryptocurrency","emulator","game","hackathon","machine","nft","roms","snes9x","sol","solana","solana-program","solana-season","solana-token","solglow","spl-tokens","vending","video-game"],"latest_commit_sha":null,"homepage":"https://solglow.zeronft.com","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulpierre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-05T17:54:44.000Z","updated_at":"2024-08-22T06:43:27.000Z","dependencies_parsed_at":"2024-08-12T13:15:48.046Z","dependency_job_id":null,"html_url":"https://github.com/paulpierre/solglow-hackathon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/paulpierre/solglow-hackathon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpierre%2Fsolglow-hackathon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpierre%2Fsolglow-hackathon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpierre%2Fsolglow-hackathon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpierre%2Fsolglow-hackathon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulpierre","download_url":"https://codeload.github.com/paulpierre/solglow-hackathon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulpierre%2Fsolglow-hackathon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33082230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conductive-research","crypto","cryptocurrency","emulator","game","hackathon","machine","nft","roms","snes9x","sol","solana","solana-program","solana-season","solana-token","solglow","spl-tokens","vending","video-game"],"created_at":"2024-11-20T05:41:31.829Z","updated_at":"2026-05-15T22:41:29.971Z","avatar_url":"https://github.com/paulpierre.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/git_hero_1.png?raw=true)\n\n\n## SolGlow - A Solana game arcade using SPL token NFTs\n\n- - -\n\n### Live demo:\n[https://solglow.zeronft.com](https://solglow.zeronft.com)\n\n# Introduction\n\nSup Dawg?\n\nConductive Research here and we're innovating ways blockchains like Solana and NFT's can be used with games.\n\nWe won [first prize](https://www.theblockbeats.com/en/flash/34946) at the Dora Hacks hackathon [with Zero NFT](https://dora.zeronft.com/) that allows you to turn any cryptopunk in your Metamask wallet into a video game character.\n\nNFTs are going to be a killer solution for interoperable game content, but what if we took this idea a step further and NFTs gave you access to games? Imagine if your Steam library was a collection of NFTs instead of game licenses. This would open a world of possibilities like truly limited-edition digital games and allow gamers to resell digital games they purchased in an open marketplace.\n\nWe built Solglow for the Star Atlas Arcade to show a glimpse of the future. \n\n# How it works\n\nSolglow reads a Phantom wallet and looks for NFTs we minted on the Solana network. Each NFT gives you access to a different game in our virtual arcade. \n\n![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/git_hero_2.png?raw=true)\n\nAlong with classics like Shadowrun, we made limited-edition games with memes inside them that you can only play on Solglow. We can’t wait to see players drive through Super Solana Cart and blast through Starfox: Degen Academy\n\n![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/git_hero_3.png?raw=true)\n\n# How to play\n\n* First download the Phantom Solana wallet for Chrome/Brave: [https://phantom.app/](https://phantom.app/)\n* Use the invite code \"COIN\"\n* Go to the settings and select \"Change Network\"\n\n![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/instructions_1.png?raw=true)\n\n* Select \"DEVNET\"\n\n![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/instructions_2.png?raw=true)\n\n* Now get some NFTs, go to the SolGlow Vending machine here: [https://solglow.zeronft.com/vending/](https://solglow.zeronft.com/vending/)\n\n![SolGlow Solana Hackathon by Conductive Research](https://github.com/paulpierre/solglow-hackathon/blob/master/readme/git_hero_4.png?raw=true)\n\n* Enter your wallet and submit. Your broke ass got No SOL? No sweat, we got you baby!\n\n# How to run locally\n\n\n### Front-end\nRunning the code locally is simple, on MacOS/Linux run:\n\n`python -m SimpleHTTPServer 8000`\n\nand it should spawn a local webserver. You can view the game by visiting `http://localhost:8000`\n\n### Back-end\n\nYou will need to have [Docker Desktop](https://www.docker.com/products/docker-desktop) installed\n\n* [Generate your keypair file](https://spl.solana.com/token) and place it in the directory `vending/server/solana.json`\n* Build the `Dockerfile` image by running `docker build -t solglow .` in the directory `/vending/server`\n* Run docker `docker run -d -p 8000:8000 solglow`\n* Now you can access the back-end Flask API at `http://localhost:8000`\n\n### Running on production\n\nThis part it slightly more involved. You will want to install Ngnix so that it can behave as a proxy for your Docker container and the internet.\n\n* First install ngnix `sudo apt-get install ngnix`\n* Create a config file `nano /etc/nginx/sites-available/solglow`\n* Save the following config\n```\nserver {\n    listen 80;\n    server_name solglow.mydomain.com;\n\n    location / {\n        proxy_pass http://localhost:8080;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n```\n* Next enable this configuration `sudo ln -s /etc/nginx/sites-available/solglow /etc/nginx/sites-enabled/solglow`\n* And reload the config on that bad boy `sudo service nginx configtest`\n* And restart your web server `sudo service nginx restart`\n* Now your api should be available at `solglow.mydomain.com`\n* NOTE: You'll need to setup your CNAME/A RECORD in your DNS settings\n\n## Deriving json keypair\n\nIf you have already generated your wallet and have the private and public key but want to generate the json file spl-token program requires you can easily do that by taking your private key, decoding it from base58 and converting the resulting binary to ascii codes. The public key will be the first 32 byte array values. The entire private key must be in JSON format\n\n* Import Base58 Python: https://pypi.org/project/base58\n* Decode your secret key: `secret_key_binary = base58.b58decode(WALLET_SECRET_KEY)`\n* Public key JSON: `public_key_byte_byte_array = [int(c) for c in secret_key_binary][:32]`\n* Private key JSON: `private_key_byte_array = [int(c) for c in secret_key_binary]`\n\n# Technical\n\nThis game was built with:\n* Front-end: VueJS\n* Web3: SolanaWeb3\n* Vending machine: python + docker + spl-token-cli hackery because the docs suck\n\n\n# Credits\n\n* Code / Design: @paulpierre / paul@conductiveresearch dot com\n* Arcade code: spencer@conductiveresearch dot com\n* UI / Design: eric@conductiveresearch dot com\n\n\n### MIT License\n- - -\n\nCopyright (c) 2021 Conductive Research Team\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulpierre%2Fsolglow-hackathon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulpierre%2Fsolglow-hackathon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulpierre%2Fsolglow-hackathon/lists"}