Skip to content

Instantly share code, notes, and snippets.

View anubhavgirdhar's full-sized avatar

Anubhav Girdhar anubhavgirdhar

View GitHub Profile
@anubhavgirdhar
anubhavgirdhar / app.js
Created September 1, 2019 09:12
weather-app
const forecast = require('./utils/forecast')
const geocode = require('./utils/geocode')
const address = process.argv[2]
if (!address){
console.log("Please provide a valid address")
} else{
console.log(geocode(address,(error,{Latitude,Longitude,Location}) => {
@anubhavgirdhar
anubhavgirdhar / quotes.sol
Created May 13, 2020 13:18
Smart Contract for a Quotes DApp to store a quote and its respective owner on the Ethereum Blockchain
pragma solidity ^0.5.0;
contract Quote {
string public quote;
address public owner;
function setQuote(string memory newQuote) public {
quote = newQuote;
owner = msg.sender;
}
@anubhavgirdhar
anubhavgirdhar / App.js
Created May 13, 2020 14:04
Front End for a Quotes DApp to store a quote and its respective owner on the Ethereum Blockchain
async function startApp() {
const address = "0x2Fb33202f99510FD2d1f7522d8709889b7858024";
const abi = [{"constant":false,"inputs":[{"internalType":"string","name":"newQuote","type":"string"}],"name":"setQuote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getQuote","outputs":[{"internalType":"string","name":"currentQuote","type":"string"},{"internalType":"address","name":"currentOwner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"quote","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}]
const contract = new web3.eth.Contract(abi, address);
await contract.methods.setQuote("This is the best tutorial in the history of tutorials ever!"
@anubhavgirdhar
anubhavgirdhar / zap.sol
Last active May 14, 2020 16:44
Smart Contract for depositing Eth into Compound
pragma solidity ^0.5.0;
interface CtokenInterface {
function mint() external payable;
function transfer(address, uint256) external returns (bool);
function balanceOf(address owner) external view returns (uint256);
}
contract Zap{
address cEthAddress = 0xf92FbE0D3C0dcDAE407923b2Ac17eC223b1084E4;
@anubhavgirdhar
anubhavgirdhar / App.js
Created May 13, 2020 15:58
Front End for a DApp to deposit Ether into Compound Finance
const contractAddress = "0x722870Eca028c681994c4d82DA3b82f1263Ca07e";
const contractAbi = [{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
const myContract = new web3.eth.Contract(contractAbi, contractAddress);
(function deposit(){
await myContract.methods.deposit.send({from : userAddress,value :1000000000000000000})})();
@anubhavgirdhar
anubhavgirdhar / EIP20Interface.sol
Created May 30, 2020 20:18
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.17+commit.d19bba13.js&optimize=false&gist=
// Abstract contract for the full ERC 20 Token standard
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
pragma solidity ^0.4.21;
contract EIP20Interface {
/* This is a slight change to the ERC20 base standard.
function totalSupply() constant returns (uint256 supply);
is replaced with:
uint256 public totalSupply;
@anubhavgirdhar
anubhavgirdhar / EIP20Interface.sol
Created June 5, 2020 22:19
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.6.6+commit.6c089d02.js&optimize=false&gist=
// Abstract contract for the full ERC 20 Token standard
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
pragma solidity ^0.4.21;
contract EIP20Interface {
/* This is a slight change to the ERC20 base standard.
function totalSupply() constant returns (uint256 supply);
is replaced with:
uint256 public totalSupply;
@anubhavgirdhar
anubhavgirdhar / EIP712.sol
Created July 22, 2020 12:36
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.6.6+commit.6c089d02.js&optimize=false&gist=
pragma solidity ^0.5.0;
contract EIP712 {
mapping(address => uint256) public nonces;
struct EIP712Domain {
string name;
string version;
uint256 chainId;
@anubhavgirdhar
anubhavgirdhar / EIP712.sol
Created July 24, 2020 01:26
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.5.17+commit.d19bba13.js&optimize=true&gist=
pragma solidity ^0.5.0;
contract EIP712 {
mapping(address => uint256) public nonces;
struct EIP712Domain {
string name;
string version;
uint256 chainId;
@anubhavgirdhar
anubhavgirdhar / EIP712.sol
Created August 3, 2020 01:55
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.6.6+commit.6c089d02.js&optimize=false&gist=
pragma solidity ^0.5.0;
contract EIP712 {
mapping(address => uint256) public nonces;
struct EIP712Domain {
string name;
string version;
uint256 chainId;