Skip to content

Instantly share code, notes, and snippets.

View polluterofminds's full-sized avatar

Justin Hunter polluterofminds

View GitHub Profile
@polluterofminds
polluterofminds / index.html
Last active October 21, 2022 14:12
Initial twitter embed index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="twitter:card" content="player" />
<meta name="twitter:site" content="@polluterofminds" />
<meta name="twitter:title" content="Pinata Instant Games" />
<meta
name="twitter:description"
@polluterofminds
polluterofminds / artist.js
Last active October 3, 2022 15:14
SoundBasket artist.js POST
import { MongoClient } from "mongodb";
const uri = process.env.MONGO_URI;
const client = new MongoClient(uri);
export default async function handler(req, res) {
if (req.method === "POST") {
try {
const database = client.db("pinata");
const artists = database.collection("artists");
@polluterofminds
polluterofminds / AppNFT.js
Last active August 18, 2022 18:55
App NFT test
const { expect } = require("chai");
const URI = "ipfs://QmTXCPCpdruEQ5HspoTQq6C4uJhP4V66PE89Ja7y8CEJCw";
const URI2 = "ipfs://QmTXCPwpdruEQ5HBpoTQq6C4uJhP4V66PE89Ja7y8CEJC2"
describe("AppNFT", function () {
async function deploy() {
const [owner, otherAccount] = await ethers.getSigners();
const AppNFT = await ethers.getContractFactory("AppNFT");
const appNft = await AppNFT.deploy(URI);
@polluterofminds
polluterofminds / AppNFT.sol
Created August 18, 2022 18:19
App NFT Contract
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
contract AppNFT is ERC721URIStorage {
using Counters for Counters.Counter;
Counters.Counter public versions;
mapping(uint256 => string) public builds;
@polluterofminds
polluterofminds / Authenticate.js
Created July 16, 2022 15:45
Authenticate Page Ghost NFT Gated Blog
import React, { useEffect, useState } from "react";
import { useAccount, useConnect, useSignMessage, useDisconnect } from 'wagmi';
const Authenticate = ({ cid, setPostContent, setAuthenticated }) => {
const [mounted, setMounted] = useState(false)
const [messageId, setMessageId] = useState(null);
const [signature, setSignature] = useState(null);
useEffect(() => {
if(messageId && signature) {
@polluterofminds
polluterofminds / Skeleton.js
Created July 14, 2022 19:38
Skeleton Blog Post Loading Screen
import React from "react";
const Skeleton = () => {
return (
<div className="card">
<div className="header">
<div className="img"></div>
<div className="details">
<span className="name"></span>
<span className="about"></span>
@polluterofminds
polluterofminds / index.js
Created July 14, 2022 19:26
Pinata Blog Home Page
import Head from 'next/head'
import { useState, useEffect } from 'react'
import Posts from '../components/Posts'
import Skeleton from '../components/Skeleton';
export default function Home({ data }) {
const [posts, setPosts] = useState([])
const [loading, setLoading] = useState(true);
const [offset, setOffset] = useState(0);
const [limit, setLimit] = useState(10);
@polluterofminds
polluterofminds / music.js
Last active July 13, 2022 15:16
NFT Music App Music Page
import React, { useState, useEffect, useRef } from "react";
import { signOut, useSession } from "next-auth/react";
import Link from "next/link";
const Music = () => {
const { data: session, status } = useSession();
const [loading, setLoading] = useState(true);
const [address, setAddress] = useState("");
const [index, setIndex] = useState([]);
const [contentUrls, setUrls] = useState([]);
@polluterofminds
polluterofminds / index.js
Created July 13, 2022 15:05
NFT Music App Landing
import Head from "next/head";
import { getCsrfToken, signIn, useSession } from 'next-auth/react'
import { SiweMessage } from 'siwe'
import { useAccount, useConnect, useNetwork, useSignMessage } from 'wagmi';
import { useRouter } from "next/router";
import { useEffect } from "react";
export default function Home() {
const router = useRouter();
const [{ data: connectData }, connect] = useConnect()
@polluterofminds
polluterofminds / _app.js
Created July 13, 2022 15:01
WAGMI Provider in Next.js
import { SessionProvider } from "next-auth/react"
import "../styles/globals.css"
import { WagmiProvider } from "wagmi"
export default function App({ Component, pageProps }) {
return (
<WagmiProvider autoConnect>
<SessionProvider session={pageProps.session} refetchInterval={0}>
<Component {...pageProps} />
</SessionProvider>