Hacker News new | comments | show | ask | jobs | submit login
Learn to Code Ethereum DApps by Building Your Own Game (cryptozombies.io)
402 points by alanfalcon 6 months ago | hide | past | web | favorite | 100 comments

There's a lot of hate on here for blockchain gaming/rare digital art so I'd like to clarify two points.

1. Blockchain games are best when only the necessary work is done on chain, such as transfer of ownership or enforcement of critical rules at run time. This tutorial may not show that so as to demonstrate the power of the blockchain, but most people in the space are building only the components players want to not be controlled by a central entity into the blockchain. It works fine.

2. The lack of digital scarcity is a real problem for artists. Blockchain art is a real solution. Artists I talk to are extremely excited about the ability to issue limited/special editions of their art on the blockchain that can owned and traded by their biggest fans. It's not about hiding the source art (image, music, etc) from the public, it's about having "signed" and "authentic" editions folks can collect and trade. They've lost that ability in the digital art world and this gives it back to them.

fans like to give one time tokens of appreciation to artists. and then maybe hang it on a wall and forget.

collectors and tax avoiders like to invest in scarce art (hence why they only assign big made-up values to the work of dead artists) and so they will be the only ones really interested in maintaining a block chain to authenticate their investment.

Fan collector culture runs much deeper than you're giving it credit for. The fine art market is dominated by hoarders, but other markets are dominated by fans. Mixtape culture is just one example.

One of the CryptoZombies creators here. This comment is spot-on.

In the realm of gaming, digital ownership of in-game assets is one area we're really excited about. Economies have already sprung up in many online games around selling items for real-world cash. With something like ERC721 tokens on Ethereum, you would truly own your items outside of the company's web server. No one could take them away from you, the items could be provably scarce, and you would have full control over selling or trading them on decentralized marketplaces (in a secure way).

Or take collectible card games like Magic the Gathering — these types of games are an ideal fit for the blockchain for the same reasons as above — rare, collectible, and tradable assets with a real-world value.

You could even have multiple games or apps that read the same crypto assets. This means you could build a new game, but use the assets of an existing game with a large user-base. You would be able to tap into a large community of players who could instantly jump into your game world with their existing characters. This lends itself to some really interesting new possibilities — imagine a World of Warcraft type game, where players were playing in the towns and worlds created by players of a totally different MineCraft or Sim-City-like game. Two sets of players playing entirely different games, but they could be playing in the same game-world where their actions have real effects on the other game through decentralized shared data.

As you mentioned, there are currently serious limitations for how much can be done on-chain. Our solution to this scalability problem is have DApps run on their own sidechains. So the in-game tradable assets would be hosted on Ethereum, while the heavy game logic and the rest of the client would live on a sidechain. This way the entire game would be running on a blockchain instead of only a small part on chain and the rest on a centralized server.

One of the huge benefits of a game running on its own blockchain is forkability. There have been plenty of examples in games where the developers released a change that nerfs a favorite character or spell, or the creators shut down the server entirely and stop supporting it.

If the game were running on its own blockchain, the users running nodes could reject the software update and hard fork. They could continue running on a legacy version of the client indefinitely, so long as there were still nodes running it. Basically the entirety of the game data is stored on the sidechain, so both sets of nodes could go their separate ways and play the version of the game they prefer. And no one could shut down the game server as long as there were nodes willing to support it.

For those who are interested in more info, here's an article that outlines some of the motivations behind sidechain-based games and community sites and what we're building: https://medium.com/loom-network/million-user-dapps-on-ethere...

CryptoZombies is just intended as an intro to building apps on Ethereum to get more developers in the space. Up until now the focus on blockchains has been on financial apps, but we think the potential is much bigger than that. We're betting on games being one of the first areas to bring blockchain tech to the mainstream, and we hope CryptoZombies inspires developers to get onboard!

> No one could take them away from you

The DAO fork.

Sorry, but the Etherium team/chain/community has no credit when it comes to irreversibility.

The hackers still have their assets as Ethereum Classic. The fact that ETC lives on is a testament to how nobody could 'take away' what is listed as theirs on the blockchain.

But I don't buy this argument for video games. Most of the game code ought to live outside of the blockchain and that non-blockchain code/art would be difficult to reproduce let alone subject to copyright claims or closed source.

Another random video game thought: Would item storage on blockchain mean that every player could see the inventory of every other player?

The "no secrets on the blockchain" aspect has already played out in subtly interesting ways in Cryptokitties. I have a tool that lets me see in a moment whether a given account has gained or lost money, and how much, and how much they were willing to spend. The marketplace is a completely open book, with real time sales data and a full history. You can't breed kitties in secret in pursuit of a particular breed. You can't (easily) buy out all of a given trait on the marketplace to create a false sense of high demand. And yes, you can see the entire kitty inventory of any other CK player.

That's based on one current implementation of a gaming DApp.

It's worth noting that you can achieve semi-privacy through either on-chain/off-chain hybrids, as well as some other emerging efforts.

One example I've been playing around with is to use the multi-address approach:

In your database each "player" consists of multiple addresses each which are OR-multi-sig wallets, for various inventory elements and stats.

When they log in via a system like metamask, their main wallet (PlayerID) is unlocking an account which in your games database (off-chain) ties together another set of "master wallets" together with you've given the player private keys for - for each item, or each set of X items, in the players inventory you are setting up a new smart contract that is a OR-multi-sig wallet.

For this wallet, which holds the item, there are two possible signatories the first being the game's main contract, so that the game can add/remove items from players based on game events, and then one of the players private keys.

While you'd likely need a custom fork of metamask to handle the multi-key environment, you've made a system where:

* Player's inventory cannot be know from one private address.

* Player's retain full control over the items.

* Player's have private key access to the items in case the service goes down.

* You store player data off-chain, but in a way that your service is not crucial to the game.

* Player assets can be traded off-game without updating the game service.

* Data about individual items is still public, and does not need to be obscured, oraclized or stored off chain.

The current blocker isn't any specific blockchain technology, but just having a good multi-key management UI for users.

Brilliant. Definitely interested to see how this space evolves! Metamask is a great first step to helping bring wallets to the masses in the web browser, and it continues to improve, but it certainly isn't what a mainstream web wallet extension will look like in a couple years.

The DAO fork happened in what was effectively Ethereum's early beta phase, when the community was very small, and there was next to no activity on the blockchain. A hard fork right now would be far more disruptive due to the amount of activity taking place on it, and would face from more opposition to a much large community.

Forking a cryptocurrency is part of the game.

Every participant has the choice to stick to the old protocol or use the new one. Or use both.

If I create a Bitcoin fork tonight and somebody buys 0.1 Bitcoin from me in the forked chain, what's wrong about that? The price of Bitcoin my forked chain would obviously be another matter.

I'm sorry to butt in but I have to point out something to you: The DAO hack was a bank theft and the hard-fork was decided by consensus.

Just took a look at your app for the first time. While I already know Solidity, I just wanted to say good job on making the subject approachable. It's hard to break concepts down and you guys did a really good job of it. You should be proud of your accomplishments.

You guys did such a good job on this - I wish you would launch CryptoZombies as an actual game. There needs to be a consumptive use for CryptoKitties to help with the over-supply.

I'm having a hard time how digital scarcity a la blockchain will benefit 'artists'. It's not like you can't make a copy of the asset once one person makes the purchase.

The scarcity is in the platforms, not the digital assets.

Wouldn't this be similar to numbered/signed prints?


You can not make a copy of the asset. Perhaps the underlying file, not the asset. You can take a picture of a painting or own a print of a photograph, that doesn't mean you own the original asset.

The work of art in the age of mechanical scarcity? :)

Blockchains do not provide digital scarcity. This a myth promulgated by the early days when “there are only 21 million” was a fact. Now, it is trivial to fork, copy or derive tokens to instantly bring millions of new “assets” into existence.

Just because you can fork, copy, and derive tokens doesn't mean that scarcity doesn't exist in that particular market. I think the point was never about true scarcity, but that as long as the market has consensus over which blockchain is the source of truth, the internal scarcity is achievable without a central authority.

For 10 years of “blockchain”, the market has had more and more blockchains. So in absence of the consensus you’re hoping for, who decides which blockchain is the source of truth?

You can fork the blockchain, but you can't make the game use your new fork. The blockchain allows the developers, players, and everyone else to agree on how many of thing X there are in the world and who owns each of them without requiring trust.

If the game is open source, you can copy the game on your fork. If the game is closed source, you are trusting it to not mess with the scarcity and thus the blockchain isn’t providing scarcity, the game providers are.

You can fork the game, but the rest of the population will be using the main game on the real blockchain and it won't recognize your character as having the item.

That’s historically untrue. Bitcoin forks and Ethereum forks have users. I don’t think there is such a thing as this “real blockchain“... care to define what “real” means?

If you say it’s the one with the greatest market cap, then you’re agreeing with me that blockchains don’t provide scarcity and assets can be copied, albeit on blockchains with less liquidity.

Furthermore, the subjectivity of what is the “real” blockchain means an artist can believe she owns an asset on ChainA, only to see ChainB become the market leader but her asset is now owned by another individual.

We have failed to solve the problem the parent poster supposes blockchain can solve...

I'm talking about the game that has all the users that are all pointing to the real blockchain. Sure, you may get a handful of players on your version of the game you forked on github so you could use it with your forked blockchain so you could own the sword of a thousand hypotheticals. But you won't be able to play with everyone playing the actual game that you wanted the sword in.

On the off chance you weren't thinking of the same type of game I am, I'm thinking of a massively multiplayer online game, not a single player game.

Your example of digital scarcity is basically legendary items in world of warcraft, and that also historically hasn’t needed a blockchain.

In all seriousness, who would want to build a game on top of a platform that’s currently limited to ~15 state changes per second? And where each of these state changes cost money?

I get the interesting aspect of creating a game with a limited supply of some virtual good, but how much energy does it make sense to put into a game of this nature when the underlying platform prevents your game from becoming successful (because it can’t handle that kind of load)?

I suspect there’s a genuine use case for limiting the supply of virtual goods in games, but I doubt the solution involves all games performing state updates using on-chain transactions in a single, shared blockchain.

>who would want to build a game on top of a platform that’s currently limited to ~15 state changes per second? And where each of these state changes cost money?

Every developer interested in making (a lot) of Easy money by riding the crypto bubble. Maybe the question should be what gamer would be interested in paying for such a game (i.e. paying significant sums for pictures of cats and paying more at every turn...you can’t even give a picture of a cat away free without paying gas), but the answer is the same...any gamer wanting to make money off the cryptobubble.

Blockchain can be marketed with terms like immutable, decentralized, and smart contract all anyone wants. However the reality is it’s all a race to the bottom based on greed and speculation.

When you say it like that, speculating that people will continue to be greedy seems like a smart bet.

You’ll want to look into counterparty risk before placing such a bet, in which case you’ll likely find the house tends to win.

As far as I know pictures of cats are hosted in some centralized server. https://medium.com/loom-network/your-crypto-kitty-isnt-forev... Anyhow I agree with your point

Greed and speculation today becomes genuine mass distrust and dislike of fiat tomorrow, don't underestimate cognitive dissonance.

Or potentially genuine mass distrust and dislike of cryptocurrency tomorrow, don't underestimate the cognitive dissonance of a bubble pop?

In my eyes, it's dangerous to crypto that advocates spout absolutisisms about crypto. With a fledgling technology and market, anything is possible, and we should be honest about the fact. Otherwise, you risk blowing up expectations to where a potential crash back to reality gives everyone an irreparable distrust and dislike of crypto anarchists akin to that of Wall Street bankers.

And then the powers that be will mock anarchism for it's corruption and greed, paint the technologist as a devil, and write history books warning of the folly of decentralization. Anarchy is dead, long live anarchy!

So maybe the last part was overblown, but in seriousness, when people lose a lot of money, they get very angry. I'd hate to be the ideology at the receiving end of that anger.

We wrote the same sentence, but I am posting it anyway...”greed and speculation today becomes genuine mass distrust and dislike of all things cryptocoin/token tomorrow.”

It’s all fun and games until the IRS comes knocking at your door for failing to pay taxes on each and every cryptokitty transaction.

People thought blockchain and Bitcoin was a way to escape fiat...turns out mining is taxed as ordinary income, investing transactions as capital gains, and the IRS only accepts fiat.

People thought Ethereum smart contracts were a way to escape the legal system (the code being Law and all)...turns out people could’nt trust these smart contracts to do what they thought and were marketed to do (DAO); turns out the code isn’t the Law because the parties to the smart contracts could just fork and break the contract; and it turns out the SEC can actually regulate and prosecute ICOs that violate securities laws.

Who wants to file a tax return and pay ordinary income on every cryptokitty they birth or capital gains on every cryptokitty they sell?

Maybe I can get ahead of the ball and start offering “stripe atlas for self directed IRA LLCs for tax free cryptocoin/kitty trading”.

Am suddenly interested in building a product that handles your taxes when you give it read access to your Coinbase account.

You'll need to support a lot more than just importing Coinbase transactions. The site bitcoin.tax lets you import from 17 different sources and, despite its name, handles nearly all digital currencies, not just bitcoin.

However, nothing currently exists that seamlessly handles scenarios like cryptokitties, or when tokens are automatically bought/sold behind-the-scenes of a dapp via 0x, etc.

No, not necessarily. It probably won't. Crypto in general continues to be pretty bad as currency, particularly because of security issues (your 'best' options for storage are a physical wallet or a sketchy and/or uninsured exchange) and volatility (who wants money that could become 25% less useful tomorrow?).

To me it's like the limitations of first game consoles (1kB usable RAM for the NES). Having great games work on it needed quite crazy coding skills and several hacks to use less space.

Ethereum is still in it's infancy today and it does indeed have a very slow processing power and speed. But you can bet on the fact that it will improve exponentially.

Do you remember the first hard drives? 56K Internet speeds? IE6 browser? So many challenges have been overcome during the last decades in tech, why would it stop here?

There is a lot of brillant and very-well funded people working on the subject and they will find solutions to improve the platform. No doubt about it.

I always find it odd that such a tech-craving population as HN readers always seem to miss the bigger picture.

> To me it's like the limitations of first game consoles (1kB usable RAM for the NES). Having great games work on it needed quite crazy coding skills and several hacks to use less space.

That’s not a fair comparison, in my opinion. A billion NES consoles can operate in parallel, without affecting the performance of other consoles. It scales perfectly. For a shared blockchain, however, performance deteriorates for you when someone else plays. And it doesn’t even have to be the same game. I mean, if a single game like CryptoKitties can reduce performance and increase fees, how will it look when there’s 10 games out there, or 100?

> I always find it odd that such a tech-craving population as HN readers always seem to miss the bigger picture.

I’m not saying this can’t be solved in the future. I’m talking about the present motivation for building blockchain-based games. Why can’t we critique technology just because it has the potential to improve in the future?

You're totally right — it doesn't make sense for every DApp to run on the mainchain.

There's an inherent tradeoff between performance and decentralization. The major blockchains like Ethereum focus on decentralization above all else, because it's extremely important for a cryptocurrency where there's a real financial incentive for someone to attack the network. Performance is important, but shouldn't come at the cost of decentralization. There's a ton of smart people working on scaling Ethereum, and they will scale, but not to the level required to run WoW and Twitter simultaneously on the mainnet.

Which is why we think scalability will be achieved through sidechains. A sidechain can play by its own set of rules. Something like an online game or community on the scale of Hacker News needs to optimize for realtime performance, but can make reasonable tradeoffs for security — on a blockchain data integrity is already ensured by cryptographic signing, and you can't "double-spend" a comment or post, so there's little financial incentive to attack the sidechain to delete a historic comment.

I'd say the motivation for learning to build blockchain-based games now is because the infrastructure for this tech is coming very soon. We're in the process of building out one game as a demo to showcase Loom Network, and are talking to a couple other game studios who want to build games on our platform.

Things like CryptoKitties may just be a novelty right now, but they're paving the way for new types of game economies that that we've never seen before.

I think the main motivation for a developer who believes that ETH will solve the scalability challenges at some point is to master these technologies early on. I have lots of doubts about DApps but I can see why it's good to learn them now.

It'll make more sense once sharding is in production.

What makes more sense right now, for many games, is to put most of the state changes off-chain. If players are taking turns, they can sign the state changes as they go, and submit the final couple moves to the blockchain. Add in another trick and you can even make fair random numbers: http://www.blunderingcode.com/gamble-channels-fast-verifiabl...

This is how FunFair works; there's an on-chain transaction to deposit, another to close out and withdraw, and in between you can gamble all day without waiting for blocks or issuing transactions to the blockchain.

As far as I can see, putting most of the state changes off-chain, without compromising security, is literally solving the blockchain scaling problem. If it can be applied to a game, it can be applied to e.g. Bitcoin (and used for payments).

I’m not saying it’s impossible, of course, just that a lot of really smart people have been working on this problem for almost a decade, without having a production-ready solution yet.

You're certainly right that it's a challenge and nobody is production-ready yet, but here's Ethereum's stage 1 sharding spec: https://github.com/ethereum/sharding/blob/develop/docs/doc.m...

A good discussion of the challenges is at their sharding FAQ: https://github.com/ethereum/wiki/wiki/Sharding-FAQ

> putting most of the state changes off-chain, without compromising security, is literally solving the blockchain scaling problem

Isn't that the approach taken by the Lightning Network for Bitcoin?

I think it's totally fair to say that Lightning technically isn't production ready, but it does seem to be in the late stages of testing / early release candidate stage of development.

> If players are taking turns, they can sign the state changes as they go, and submit the final couple moves to the blockchain.

This is the same way that the lightning / plasma network works, right?

It's one half of it; Lightning also needs a "time lock" mechanism to somehow execute payment for the committed balance of the channel if one party unilaterally abandons it. This is quite complex involving both parties holding a delayed and revokable payment from the other party.

In the case of a game, this might be simpler since you can have each player sign their own moves and the other player's last move, so that you can always broadcast your opponent's last move if they quit.

It's not too complicated on Ethereum. Here's some sample code, which Raiden devs have told me works much like their system.


Yes, Lightning is similar, the previous blog post covers that. Plasma is a bit different, I'm still wrapping my head around it.

Sure, it's a limitation. But working around limitations or using them as a core element is a standard thing during game design.

So perhaps you have a game where you play for several hours or even days and only then eventually you want to save your progress on the blockchain for the world to see. Just an example.

As seen with CryptoKitties the high transaction cost is a crippling factor right now, on the other hand the game wouldn't even be possible in its current trustless design without the blockchain.

>on the other hand the game wouldn't even be possible in its current trustless design without the blockchain.

Is it really a “trustless” game? If the company folds and the website with it, sure you still have your “CK Tokens” in your wallet, but without the centralized platform you can’t exactly access the picture of your kitty, you can’t breed, you can’t sire, you can’t gift...in other words you can’t even transfer the “CK token(s)” from one wallet to another without the platform. Therefore it seems there is a whole lot of trust the platform will continue to exist, not to mention the value of the kitties is constantly subject to change, not just on a free market basis, but based on the rules and prices which are unilaterally set by the centralized company.

If you want to, you could put the UI on a p2p filesharing network. That's the ultimate goal of Ethereum's "web3" plan with Swarm, and probably could be done now with IPFS.

If you want to, but the company behind CryptoKitties doesn't want to.

The smart contract that performs these actions still exists and anyone can (and some people like me do) interact with it without touching the website UI / front end. The pictures of kitties are easily recreated once you have all the secrets of the genome, which we do (well, there could be more secrets but we could recreate the ones we know about which is all we can/could care about). The legal aspect of that latter part is murky but the CK devs promise they are working to clarify despite the complexity of this new space.

Yeah the game would lose 99.9% of its potential userbase without the front end, but if the remaining 0.1% wanted to build a new web interface we could and the game could go on. This may seem similar to spinning up a legacy WoW server, but the difference here is that we’d still have our own actual kitties and no be able to cheat the system so the game integrity remains in the blockchain version.

>I suspect there’s a genuine use case for limiting the supply of virtual goods in games

There's many, but none of them include blockchains. Being "distributed" isn't a valuable enough attribute for games to make it worthwhile. What you get is stuff like CryptoKitties, which isn't a game but is just trying to be more speculation.

Imagine a TCG where you can sell your collection when you want to quit the game. You could buy packs via smart contracts with full transparency wrt. card rarity. The game could add a small fee to pack prices to cover upkeep and creative costs. Some of these fees could be redistributed to players via card/pack rewards. The only requirement (and a strong one) is that the game is actually fun to play, so most of the player base isn't speculating on price.

I think this could give Hearthstone et al. a run for their money.

The problems are real. I wrote a simple contract that validates a solved sudoku and rewards `sudokoin` for it. But even at the time of deployment, running it cost about 1$. Now it is probably closer to 10$.

On the other hand, once the contract is deployed and the code open sourced, you can pretty much prove that you cannot manipulate your own creation anymore. It will probably be even better once there are other languages than Solidity to develop for the EVM.

I wrote a blog entry about my experiences and the second iteration on another platform at medium: https://medium.com/@jraedisch/the-path-to-sudokoin-6aee92cfa...

Any turnbased game?

One of the reasons why I suspect NEO may be more suited for such things. State changes will likely still be a factor, but once the smart contract is deployed, it's free to execute.

> but I doubt the solution involves all games performing state updates using on-chain transactions in a single, shared blockchain.

Right, and there are people working on the blockchain level with very compelling bandwidth improvement solutions.

You might find one interesting, take a look.

There are people making silly games right now on the understanding that the infrastructure they are building on will improve. These people are doing this because it helps them understand the toolkits, language and infrastrcture, which has a massive upside in their opportunities by merely exposing themselves to it now. When the infrastructure is already there, and the books exist, and the college kids are learning it at state schools, the opportunities won't be nearly as great for them. And yes, they can be wrong!

But it isn't as simple as you (and everyone other competent full stack engineer) questioning their life choices and being the only people to notice that the underlying platform has an uncompetitive limitation right now.

Better to do this on NEO instead. Their tech is better than ETH in every way; it can handle up to 10.000 transactions per second (whereas ETH can handle ~15) and it supports almost all mainstream coding languages. What's more, transactions are free.

I'm thinking it might be time for Hacker News to start enforcing a rule against nonsubstantive promotions of various three-letter technologies.

Deploying a Smart Contract on NEO costs 500 gas, which is approx. 28k$ as of today.

True, but once deployed it's free to execute. The intent is to weed out junk contracts, among other reasons. There has also been discussion of reducing this cost, as the value of GAS rises.

Is there a downside or trade off? I’m a little skeptical that NEO is strictly better in all aspects.

NEO is currently quite centralized†, which is an easy trade-off to make for higher throughput (see the traditional infrastructure of the web). It may not become more decentralized in the future, but its consensus mechanism (dBFT) is not really proven yet, which is why they are playing it safe. They will continue developing it of course, as will Ethereum with its proposed and not-yet-rolled-out PoS.

Time will tell which one is safe. If the rewards are high enough, someone powerful/knowledgeable will inevitably try and break or cheat the system.

† Some people like to make a distinction between "distributed" and "decentralized". For me the former is part of the latter.

Cryptokitties is possible because of ERC 721, which allows for unique tokens to represent individual assets (having an indivisible kitty with its own dna). As far as I'm aware, NEO doesn't yet provide the ability to create individualized tokens that can be stored on the blockchain in a similar way.

ERC 721 just an API standard for non-fungible assets. There's nothing special on inherent to Ethereum that makes Cryptokitties possible.

You can totally build something Cryptokitties with NEO -- the only difference is that because there isn't a standard, there isn't a third-party marketplace for these assets. (i.e., there's nothing inherent about NEO that prevents something like Cryptokitties from being built.)

Can you elaborate on this? I've been curious about other dApp platforms similar to Ethereum as I can't help but feel underwhelmed by Ethereum's capabilities currently.

I had birthday yesterday. , Statistically by the life expectancy in my country, I'm now closer to death than to the date of birth. And yet, what makes me feel old is the idea of writing games on top of ethereum.

I think the only thing that makes you "old" is you thinking to yourself you feel old.

If you take a look at who's actually working on all the cryptocurrency projects, a lot of the hardcore developers are probably older than you because they came from the "cypherpunks" era, almost around the dot-com times.

I'm not talking about the scammers building ERC20 tokens. I'm talking about legit cryptographers who are building stuff.

Hahahaha this has to be the greatest comment ever


I'm little afraid of all the CryptoKitties clonies that this will cause to come into existence, but it's pretty easy to spot the low effort cash grab ponzies and to see that CryptoKitties itself has a ton of thought and effort (and talent/money) behind it [I'm obsessed, feel free to ask me all your CK questions, like "why did you use all your Ether buying pictures of cats instead of a used car?].

Anyway, this is incredible.

Well, why did you use all your Ether buying pictures of cats instead of a used car?

Addictive personalities can be good and can be evil. I have one and I’m usually okay at recognizing that and when it’s kicking in and not losing self control, but I’ve never had an opportunity to easily spend my cryptocurrency before and so I completely let myself fool myself about what I was doing when CK launched. I fell into a cycle of buying and breeding kitties at market rates, not wanting to sell them, finding “great deals” on the marketplace, buying and breeding those... Of course the “great deals” were really a crashing market after an unsustainable bubble right at launch. I was destroyed by incorrect mental pricing models and easy access to a source of funds. And what’s more, those funds were internet magical funny money that I’d gotten for free anyway, so it was really hard for me to see spending $40 worth of Ether as losing out on the opportunity to buy $40 worth of real world goods. And when the thought crossed my mind, I hand waved it away with the thought that I could always sell the kitties and get my ETH back, with no critical thinking attached.

All of which begs the question, why am I a fan of the game? There’s the fact that I feel now like I’ve invested a couple grand in the game ... but that’s my irrational brain again. Some slightly more rational reasons include that working with the community to crack the genome and build tools to help make smart breeding and buying/selling choices has been a ton of fun and very educational. Also just deep diving into the game mechanics in a way I couldn’t have truly appreciated from the outside looking in has been a revelation: many people complain that this is not much of a “game,” and of course they’re right, but there’s still a ton of careful consideration that went into developing each aspect of what exists, including how new genes are gated through release of new kitties and a breeding algorithm with special mutations that require particular gene pairs to breed. And then there are fancies, which a cat becomes when it meets certain minimum requirements such as being Cloudwhite, with a Scarlet pattern, and having a beard along with a hidden “wild” trait: all of which, when combined on the same kitty, produces a (relatively) valuable Santaclaws kitty.

Also, I really don’t need a new crappy old car. I’ve already got one of those. And man those kitties really are adorable sometimes.

Big fan of CryptoKitties too. Adding my notes to the Awesome CryptoKitties (and CryptoCopycats) [1] page @ Open Blockchains. PS: Launching CryptoCopycats soon - lets you play for free (without gas or ether) an (open source) CryptoKitties unchained version, that runs off the blockchain :-) still using a hyper ledger and a peer-to-peer network (but built from scratch) though. [1] https://github.com/openblockchains/awesome-cryptokitties

What is a "hyper ledger"? (google tells me it is a linux foundation project...)

Corporates who missed the blockchain boat building their own boats.

hyperledger (note: no space) is a linux "enterprise" umbrella blockchain initiative. don't really know.

hyper ledger is a (generic) term for a ledger for the internet blockchain era :-).

Copycats uses the ledger-lite (open source) library [1] - the tagline reads: hyper ledger book for the distributed blockchain internet era; add your transactions one block at a time; transfer crypto(currencie)s or collectibles (e.g. kitties or cats) and balance the accounts (that is, who owns what etc.)

[1] https://github.com/openblockchains/ledger.lite.rb

s/Crypo/Crypto/g on your .md

I have almost no idea about the Ethereum system, but don't you have to pay to have your code executed on the global ethereum machine? Does that mean I have to pay to test run my code? or maybe after I deploy it?

You can run your code on a test network:


You can run it in a JavascriptVM.

This an online IDE to play around with Ethereums Solidity language: https://remix.ethereum.org

I think there is a way to have users pay for transactions instead of the contracts or contract owners.

You can use the test net.

IMHO, this reflects all that is bad about blockchains. So many systems around the world having to forever track nonsense like who owns a fake kitty. This is bloat.

Throw it in a database that is owned by a virtual-kitty-selling company. Yeah, it's not decentralized. So what? It's a game! IMO the blockchain should be for important (financial/legal/real estate/?) transactions.

"I don't like it so it shouldn't exist" ! I think this tutorial is very cool, I introduced programming and dapps to my 15 yo niece with it and she liked it.

It doesn't matter that I don't like it. Every addition to the blockchain imposes costs in storage, backup and transmission - forever. Nothing gets removed, so it just keeps growing. For property records that's a cost worth bearing (we had to record who owned what anyway). But how long and how much will it cost to forever record that Bob owned Kitty XYZ and then sold it to Allen? Multiply that by 50,000 other apps, and (millions?) of frivolous transactions. Just because we can doesn't mean we should.

It doesn't have to be like that. We could rely on periodic snapshots of the blockchain for future validation. We could even selectively include specific data in the snapshots to be preserved. Maybe some group might need to store the entire history of the blockchain but there is a lot of room for innovation to solve this scaling dilemma.

With the usual caveats about putting real money into risky speculative assets. Blockchain technology could very well prove to be the missing link in providing a way to cryptographically "sign" a digital art work. And publicly verify its uniqueness and provenance.

If you wish to experience the hype first hand. There's a show, perhaps the first of its kind, happening in NYC this weekend. With the founders of CryptoKitties, RarePepes, DADA, Cryptopunks, Decentraland in attendance.

Rare Digital Art Festival, Rise New York, 43 West 23rd St, NYC, Sat Jan 13, 9am


Wow thanks for sharing the event! It's going to be something else, I can't believe how excited folks are for rare digital art. The movement does feel like something special not just in the blockchain world but in the tech world in particular.

I can't imagine how immensely powerful it would be to have a game like Diablo leverage block chain for its items. This would eliminate the risk of dupes and ensure a fair system.

The risk of dupes meaning that the company that created the game may release duplicate items? A centralized database can eliminate that risk as well.

I wonder if there are any tutorials for building ERC-20 or 71 tokens?

And also is there a tutorial on how to download the whole ethreum blockchain and parse it to a databse for analysis purposes?

Here is the tutorial: https://www.ethereum.org/token

There is the BitcoinTalk forum for announcing your new super token https://bitcointalk.org/index.php?board=159.0


anyone found the tutorial (or a similarly recommend one) in text?

(Disclaimer: I hold some Enigma).

I'm (self)-interested in learning about Enigma[0]. It's an off-chain solution for scalability & privacy with regards to systems of blockchains (blockchain agnostic).

It also has the capacity for its own dapps. The Enigma product isn't completed, yet there is a working product on top of the protocol called Catalyst[1] (I've not personally tried Catalyst, yet). Catalyst is a trading app for quants.

Enigma is supported by MIT, & has Alex Pentland as an advisor.

There's more to Enigma than what I've just outlined. 1) There's the data marketplace component. 2) It could also conceivably become a secure data processing layer for the Internet. I think it can be used with different protocols. I've yet to figure that out.

[0] https://www.enigma.co [1] https://enigmampc.github.io/catalyst/

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact