Skip to content

Instantly share code, notes, and snippets.

View critesjosh's full-sized avatar
🥸

josh crites critesjosh

🥸
View GitHub Profile

Keybase proof

I hereby claim:

  • I am critesjosh on github.
  • I am critesjosh (https://keybase.io/critesjosh) on keybase.
  • I have a public key ASALHa0sxv6oOg3lRoNaBG2hCwHcVMGGUiXAbF4L-p0bFgo

To claim this, I am signing this object:

pragma solidity ^0.5.0;
import "http://github.com/OpenZeppelin/openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
contract ERC20Lockable is ERC20 {
mapping (address => uint) unlockTime;
mapping (address => bool) isLocked;
uint lockDuration = 1000;
This post links my 3Box profile to my Github account! Web3 social profiles by 3Box.
✅ did:muport:QmaBNA6ykghaKJVkLob3fiNtNF25EURzQUu7dez2dyi67y ✅
Create your profile today to start building social connection and trust online at https://3Box.io/
{
"description": "This token certifies the holder as a graduate of the Devcon V Scholars program.",
"image": "https://i.ibb.co/mFz0Zjh/deva2019b-2.png",
"name": "Devcon V Scholar NFT",
"external_url": "https://medium.com/ethereum-foundation-devcon-scholars"
}
@critesjosh
critesjosh / Non-transferable ERC 721
Last active September 27, 2019 17:33
This contract describes a non-transferable ERC 721 token with an update-able token URI data
pragma solidity ^0.5.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721MetadataMintable.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721Enumerable.sol";
contract Cert721 is ERC721MetadataMintable, ERC721Enumerable {
constructor (string memory name, string memory symbol)
public
ERC721Metadata(name, symbol)
{
"contractName": "SimpleStorage",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "x",
"type": "uint256"
}
@critesjosh
critesjosh / Cert721_ABI.json
Created October 11, 2019 14:36
mint a bunch of NFTs, waiting for each txn to process before sending the next one
[
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
pragma solidity ^0.5.0; // Step 1
contract ProjectSubmission { // Step 1
address owner; // Step 1 (state variable)
uint ownerBalance; // Step 4 (state variable)
modifier onlyOwner() { // Step 1
require(msg.sender == owner, "Only the owner can do this.");
_;
pragma solidity >=0.4.0 <0.7.0;
// Rinkeby address: 0x49Bb098E781eD5C50D85E82d85cbA1a6F03FD3e6
contract SimpleStorage {
uint storedData;
event storageUpdate(uint newValue, address updatedBy);
function set(uint x) public {
/*
This exercise has been updated to use Solidity version 0.5
Breaking changes from 0.4 to 0.5 can be found here:
https://solidity.readthedocs.io/en/v0.5.0/050-breaking-changes.html
Reference Docs: https://solidity.readthedocs.io/en/latest/index.html
*/
pragma solidity ^0.5.0;