larvalabs / cryptopunks Goto Github PK
View Code? Open in Web Editor NEWCollectible 8-bit characters on the Ethereum blockchain.
Home Page: http://www.larvalabs.com/cryptopunks
License: Other
Collectible 8-bit characters on the Ethereum blockchain.
Home Page: http://www.larvalabs.com/cryptopunks
License: Other
Including previous bids, retracted bids, etc. So we can see bid sniping, previous offers, etc. Should help understand situations like #5.
I couldn't find the terms of use / license.
Can I print the cryptopunks on a t-shirt, for example?
On the new contract generating the Cryptopunks images, the SVG returned as a data URI is not URI encoded, which means it can’t be used directly (e.g. on <img src="">
) without processing it.
This is how useNft() does it for example:
It would be ideal if punkImageSvg()
would return a string that is already URI encoded.
Probably not an issue since will only be called once.
Is the code under a license that permits reuse and modification?
Thanks!
Hi I sold my ultimate Cryptopunks but I didn't receive my ETH yet
Now I am very sad to lose my Cryptopunks
Getting a report from someone on reddit that their punk balance can be off when offering for sale (possibly after cancelling that sale).
I think bids can remain though?
Source: https://archive.fo/yWJv5
Please don't let this be the end of CryptoPunks!
Error Message:
The page isn’t redirecting properly
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
This problem can sometimes be caused by disabling or refusing to accept cookies.
Show what they have bid on after the list of what they own.
PunkBought
event emitted from acceptBidForPunk
always has toAddress = 0
and value = 0
.
See an example transaction on Etherscan
At line 216
Bid bid = punkBids[punkIndex];`
bid
is set to reference the map's value
and at line 277
punkBids[punkIndex] = Bid(false, punkIndex, 0x0, 0);`
the map's value is overridden with "null" Bid having 0x0
for bid.bidder
and 0
for value
,
then at line 229
PunkBought(punkIndex, bid.value, seller, bid.bidder);
bid.bidder = 0x0
and bid.value = 0
211. function acceptBidForPunk(uint punkIndex, uint minPrice) {
212. if (punkIndex >= 10000) throw;
213. if (!allPunksAssigned) throw;
214. if (punkIndexToAddress[punkIndex] != msg.sender) throw;
215. address seller = msg.sender;
216. Bid bid = punkBids[punkIndex];
217. if (bid.value == 0) throw;
218. if (bid.value < minPrice) throw;
219.
220. punkIndexToAddress[punkIndex] = bid.bidder;
221. balanceOf[seller]--;
222. balanceOf[bid.bidder]++;
223. Transfer(seller, bid.bidder, 1);
224.
225. punksOfferedForSale[punkIndex] = Offer(false, punkIndex, bid.bidder, 0, 0x0);
226. uint amount = bid.value;
227. punkBids[punkIndex] = Bid(false, punkIndex, 0x0, 0);
228. pendingWithdrawals[seller] += amount;
229. PunkBought(punkIndex, bid.value, seller, bid.bidder);
230. }
DApps listening for CryptoPunk's events and willing to know history of punk's transfers with prices have to implement non-trivial workarounds to extract real values for toAddress
and value
:
toAddress
value can be obtained from the event Transfer
emitted at line 223, at which point the bid.bidder
was not yet overriddenvalue
can not be extracted precisely, since the Transfer
emits 1
as the value
.value
:
enterBidForPunk
events for the same bidder and record the latest bid's valuepunkBids[punkIndex]
right before the transaction for acceptBidForPunk
is executedAll in all, this seems to be a minor bug not affecting correctness of the CryptoPunks contract but slightly complicating implementation for DApps.
Hey can the collectibles be use for running a volunteer donation campaing e.g and under which licensed ?
I placed a bid on punk #3307 for .155 ether and it looks like the address of the bid before mine just stayed there. Either that or they were able to trump my bid with the exact same amount. Either way, my bid is apparently not valid, and I'm currently still missing the .155 ether.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.