Skip to content

Inside the CryptoPunks Blockchain Contracts / Services incl. the Classic V1 and Wrapped CryptoPunks (WPUNKS) and Wrapped CryptoPunks V1 (WPUNKS1)

Notifications You must be signed in to change notification settings

ShawnBusker/punks.contracts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crypto Collectibles Series - Cats · Punks

CryptoPunks Blockchain Contracts / Services

Code on the Blockchain - Electronic Contract Scripts

Original V2

/punks - CryptoPunksMarket

Etherscan

For more see Inside the CryptoPunksMarket Blockchain Contract / Service »

/wrapped - Wrapped Punks (WPUNKS)

Etherscan

For more see Inside the Wrapped Punk (WPUNKS) Blockchain Contract / Service »

Classic V1 - "First Deploy"

When CryptoPunks launched, the contract was exploitable. Sellers didn't get paid. LarvaLabs quickly launched a fixed version of the contract, which everyone uses.

But the V1 tokens are still out there.

/punks-v1 - CryptoPunks

Etherscan

/wrapped-v1 - Wrapped Punks V1 (WPUNKS1)

Etherscan

More

/phunks - CryptoPhunks (PHUNKS)

Etherscan

/hdpunks - HD Punks (HDPUNKS)

Etherscan

/zunks - Zunks (ZUNK)

web: cryptozunks.com

CryptoPunks were the first 10,000. CryptoZunks are the last 10,000.

Numbered 10,000 - 19,999, Zunks are the first Punks to be generated on-chain with randomized attributes. Spin to mint your base model Zunk and re-roll any attributes.

How does on-chain generation for Zunks work? How do we keep Zunks unique from existing Punks?

  1. CryptoZunks is the first on-chain Punks derivative project where the smart contract generates all the attributes randomly on-chain when the user mints. How does this work?

  2. After determining what attributes the Zunk has, we create a string representation of the Zunk which can be decoded into the various attributes (gender, hat, beard, etc.).

  3. This string representation of the Zunk is then saved on the blockchain. On subsequent Zunk mints, the contract validates that it hasn't generated a same Zunk that already exists. If it has, the contract will re-generate random attributes until it has created a unique Zunk.

  4. There are optimizations built into the contract to re-generate a Zunk as few times as possible. It's important that users aren't stuck endlessly generating invalid Zunks and to keep gas usage low.

  5. We've run thousands of simulations and have validated that we can reliably generate 10k unique Zunks Partying face

  6. We also wanted to guarantee that the generated Zunk doesn't match an existing Punk. We took all 10k Punks, converted them into our string representation, and seeded the contract with these Punks so that the contract may validate against them.

  7. Now when the contract generates a Zunk or a user rerolls an attribute, the contract will validate that it does not match any existing Zunks or Punks. After the Zunk is confirmed to be unique and minted, the contract emits an event of the string representation of the Zunk.

  8. Our goal is to innovate and to bring a unique and fun minting experience that gives some power to the user, while still upholding the ethos of decentralization. Every Zunk is randomly generated on chain, your Zunk's destiny is in your hands!

-- Amanda

All 10,000 Zunks have been minted! A lot of dizziness from all of the spins today.

-- CryptoZunks, Aug 8, 2021

Commentary: The devs are raking in at least $1.35 million dollars with the mint of 10,000 Zunks and will of course profit a substantial amount of all future sales.

Etherscan

About

Inside the CryptoPunks Blockchain Contracts / Services incl. the Classic V1 and Wrapped CryptoPunks (WPUNKS) and Wrapped CryptoPunks V1 (WPUNKS1)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 100.0%