Git Product home page Git Product logo

cryptopunks's Introduction

CryptoPunks

CryptoPunks: Collectible Characters on the Ethereum Blockchain

CryptoPunks are 10,000 unique collectible characters with proof of ownership stored on the Ethereum blockchain. No two are exactly alike, and each one of them can be officially owned by a single person as managed and verified by a contract running on the Ethereum blockchain. You can see which punks are still available along with some more general information over at https://www.larvalabs.com/cryptopunks

This repo contains the Ethereum contract used to manage the Punks, a verifiable image of all the punks, and a unit test to verify the contract's functionality.

Some Questions

  • How much do the punks cost? When we first released the project, you could claim a punk by simply paying the transaction fee of around 11 cents. Now, you have to buy a punk from someone else and need to pay the market rate, which at the moment is around 0.3 ETH (~$80 USD). See http://www.larvalabs.com/cryptopunks for the current average price.
  • How much is a punk worth? Like many things, they're worth whatever someone will pay. People have spent 10 ETH (around $3,000) on the the rarest types.
  • How were the punk images created? With a generator that was programmed to generate punks with a range of features and rarity. For example, there are only 88 Zombie Punks, 24 Apes, 9 Aliens and exactly 1 Alien Punk smoking a pipe.

How to Use the CryptoPunks Contract

The easiest way is to use MyEtherWallet which has added CryptoPunks to their contract dropdown. If you prefer to use an Ethereum wallet on your computer, the main CryptoPunks contract can be found at address 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB. Watch this contract in your Ethereum wallet using that address and this ABI file.

Once you are watching the contract you can execute the following functions to transact punks:

  • getPunk(uint index) to claim ownership of a punk (this is no longer useful as all 10,000 punks have been claimed).
  • transferPunk(address to, uint index) transfer ownership of a punk to someone without requiring any payment.
  • offerPunkForSale(uint punkIndex, uint minSalePriceInWei) offer one of your punks for sale to anyone willing to pay the minimum price specified (in Wei).
  • offerPunkForSaleToAddress(uint punkIndex, uint minSalePriceInWei, address toAddress) offer one of your punks for some minumum price, but only to the address specified. Use this to sell a punk to a specific person.
  • enterBidForPunk(uint punkIndex) enters a bid for the punkIndex specified. Send in the amount of your bid in the value field and we will hold that ether in escrow.
  • acceptBidForPunk(uint punkIndex, uint minPrice) to accept a pending bid for the specified punk. You can specify a minPrice in Wei to protect yourself from someone switching the bid for a lower bid.
  • withdrawBidForPunk(uint punkIndex) will withdraw a bid for the specified punk and send you the ether from the bid.
  • buyPunk(uint punkIndex) buy punk at the specified index. That punk needs to be previously offered for sale, and you need to have sent at least the amount of Ether specified as the sale price for the punk.
  • withdraw() claim all the Ether people have previously sent to buy your punks.

Verifying the Punks are 100% Authentic and Legit CryptoPunks™

All the CryptoPunks

This is the official and genuine image of all of the CryptoPunks that have been created. To allow verification that the punks being managed by the CryptoPunks Ethereum contract are the same as what you see in the image, we have embedded a SHA256 hash of the image file into the contract. You can generate this hash for the punks image file via a command line similar to openssl sha -sha256 punks.png and compare that to the embedded hash in the contract ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b.

cryptopunks's People

Contributors

megamattron avatar pents90 avatar zackshapiro avatar 7flash avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.