Skip to content

Instantly share code, notes, and snippets.

View dabit3's full-sized avatar
🎡
probably nothing

Nader Dabit dabit3

🎡
probably nothing
View GitHub Profile
@dabit3
dabit3 / marketplace.sol
Last active March 14, 2024 15:55
NFT Marketplace Smart Contract (V2)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "hardhat/console.sol";
contract NFTMarketplace is ERC721URIStorage {
@dabit3
dabit3 / ceramic_identity_playground.js
Last active February 26, 2022 17:12
Playing around with Ceramic identity and self.id
import { useState } from 'react'
import Head from 'next/head'
import styles from '../styles/Home.module.css'
import { CeramicClient } from '@ceramicnetwork/http-client'
import { DID } from 'dids'
import { ThreeIdConnect } from '@3id/connect'
const SID = require('@self.id/web')
const { EthereumAuthProvider, SelfID, WebClient } = SID
@dabit3
dabit3 / connectweb3wallet.js
Created December 1, 2021 16:19
Connecting a web3 wallet
import { ethers } from 'ethers'
import Web3Modal from 'web3modal'
import WalletConnectProvider from '@walletconnect/web3-provider'
async function getWeb3Modal() {
const web3Modal = new Web3Modal({
network: 'mainnet',
cacheProvider: false,
providerOptions: {
walletconnect: {
@dabit3
dabit3 / post-test.js
Last active May 8, 2024 10:54
Test for Solana Blog
const anchor = require("@project-serum/anchor");
const assert = require("assert");
const { PublicKey } = anchor.web3;
describe("blog", () => {
anchor.setProvider(anchor.Provider.env());
const program = anchor.workspace.Blog;
const post = anchor.web3.Keypair.generate();
@dabit3
dabit3 / blogpost.rs
Last active August 30, 2022 17:08
Example blog program - Anchor, Solana, and Rust
use anchor_lang::prelude::*;
declare_id!("Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS");
#[program]
pub mod blog {
use super::*;
pub fn create_blog(ctx: Context<CreateBlog>, name: String, bump: u8) -> Result<()> {
ctx.accounts.blog.name = name;
@dabit3
dabit3 / arweaveexample.js
Last active March 24, 2022 21:19
Example of interacting with Arweave using arweave.js and ArConnect
/*
* Arconnect docs: https://arconnect.io/
* arweave.js docs: https://github.com/ArweaveTeam/arweave-js
* Arweave developer docs: https://docs.arweave.org/developers/
*/
import Arweave from 'arweave';
const arweave = Arweave.init({
// host: 'arweave.net'
@dabit3
dabit3 / dockerfile
Last active October 5, 2021 01:40
OpenVSCode Server
# Build locally
# docker build . -t myvscodeapp
# Run locally
# docker run -it -p 3000:3000 myvscodeapp
FROM gitpod/openvscode-server:latest
USER root
ENV NODE_VERSION=14.18.0
RUN apt-get update
@dabit3
dabit3 / App.js
Last active November 16, 2022 05:46
Persisting a keypair for reading across clients
/*
* this file includes both a node.js script for creating a keypair
* as well as the client code for using it
*/
/* createKeypair.js */
const fs = require('fs')
const anchor = require("@project-serum/anchor");
const web3 = require('@solana/web3.js')
const account = anchor.web3.Keypair.generate();
@dabit3
dabit3 / App.js
Created September 11, 2021 14:24
Solana + Anchor Counter front end (for example from docs)
import './App.css';
import { useEffect, useState } from 'react';
import {
Program,
Provider,
BN,
web3,
} from '@project-serum/anchor'
import {
Connection,
@dabit3
dabit3 / App.js
Last active January 29, 2024 04:42
Working example of Solana and Anchor on JavaScript Client - React
import './App.css';
import { useEffect } from 'react';
import {
Program,
Provider,
BN,
web3,
} from '@project-serum/anchor'
import {
Connection,