Skip to content

Instantly share code, notes, and snippets.

View sahilrajput03's full-sized avatar
💭
I'm happy these days.

Sahil Rajput sahilrajput03

💭
I'm happy these days.
View GitHub Profile

Upgradable contracts - UUPS (better than Transparent Proxy)

Source: Official Openzeppelin youtube channel

All resources related to Upgradability from Openzeppelin: Click here

Depending on where we put the upgradeTo() function we decide b/w two types of upgradable smart contracts.

image

@sahilrajput03
sahilrajput03 / commentary 721.md
Last active November 14, 2022 04:56
commentary ERC721.md

Commentary on ERC721

Source: ethereum.org

Implementation on Openzeppelin:

Every ERC-721 compliant contract must implement the ERC721 and ERC165 interfaces:

  • Methods:
@sahilrajput03
sahilrajput03 / 721.sol
Created November 14, 2022 04:55
Cleaned
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/ERC721.sol)
pragma solidity ^0.8.0;
import './IERC721.sol';
import './IERC721Receiver.sol';
import './extensions/IERC721Metadata.sol';
import '../../utils/Address.sol';
import '../../utils/Context.sol';

Commentary on ERC20

Source: ethereum.org

  • Methods:
  - name(): OPTIONAL, Returns the name of the token - e.g. "MyToken". ALSO: `function name() public view returns (string)`
  - symbol(): OPTIONAL, Returns the symbol of the token. E.g. “HIX”. ALSO: `function symbol() public view returns (string)`
  - decimals(): OPTIONAL, Returns the number of decimals the token uses - e.g. 8, means to divide the token amount by 100000000 to get its user representation. ALSO: `function decimals() public view returns (uint8)`
  - totalSupply(): Returns the total token supply. ALSO: `function totalSupply() public view returns (uint256)`
@sahilrajput03
sahilrajput03 / arrayBufferToString.js
Created November 13, 2022 14:40 — forked from skratchdot/arrayBufferToString.js
Array Buffer -> String and String -> ArrayBuffer conversions in javascript
// source: http://stackoverflow.com/a/11058858
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}

Commentary on ERC1155 - Multi Token Standard

Source: ethereum.org

  • Implementation on Openzeppelin: Click here
  • Implementation with Video Tutorial: @youtube Click here

Smart contracts implementing the ERC-1155 standard MUST implement all of the functions in the ERC1155 interface.

Smart contracts implementing the ERC-1155 standard MUST implement the ERC-165 supportsInterface function and MUST return the constant value true if 0xd9b67a26 is passed through the interfaceID argument.

@sahilrajput03
sahilrajput03 / token_comparisons.md
Last active November 3, 2022 18:10
Token Comparisons
@sahilrajput03
sahilrajput03 / setup-ssl.md
Created October 16, 2022 14:53 — forked from pedrouid/setup-ssl.md
Setup SSL with NGINX reverse proxy

Get a Free SSL Certificate With Let’s Encrypt

Let’s Encrypt is a free, automated, and open Certificate Authority.

  1. Install tools for using the Let's Encrypt certificates using Certbot
  sudo apt-get update \
  sudo apt-get install software-properties-common