Not an ICO, more of an experiment / art project.
We present, the Thousand Ether Homepage: https://thousandetherhomepage.com/
The smart contract itself: https://etherscan.io/address/0xb5fe93ccfec708145d6278b0c71ce...
What’s cool about it:
- It’s immortalized on the Ethereum blockchain. As long Ethereum is around, your ad slot will be yours to do with it what you please. No need to rely on us to run the service indefinitely.
- There’s no email signups, no passwords, no credit cards.
- You buy ads by calling a method on the smart contract with the correct Ether value, and tada. All done from an Ethereum-enabled browser (like the MetaMask extension or Mist/Parity.
- Once you buy an ad, the DApp _knows_ who you are from the wallet integration and you can edit it without logging in explicitly.
---
All the code is open source, so check out the nitty gritties: https://github.com/thousandetherhomepage/
Assuming you've kept the price of a pixel at 0.001 Ether, you've made 61.7 Ether.
At today's market value, that's roughly $18,000. Not bad!
Elsewhere in the thread you've said that you control the domain and the presentation... so you can either get rid of or replace the page at any time or even just forget to renew the domain and someone else could take it over.
So anyone who purchases an ad is dependent on you to run the service indefinitely, right?
YC Coin: distributed karma for HN on the Ethereum blockchain (ycco.in)
Also Facebook Coin, instagram Coin and reddit Coin (just add co.in).
Perhaps the best "art" project is www.dotcomco.in itself. If you liked the dotcom bubble you will love the cryptocoin bubble, so I mesh the two. One domain owner has contacted me willing to list their domain for sale and was willing to pay the listing price of 1BTC.
I am also an attorney and begun offering community smart contract/blockchain services (loyalty programs and asset-backed tokenization) to my clients and I use the above as my portfolio of work. So far I have had a local craft brewery interested in me developing a blockchain loyalty program and some private aircraft owners interested in creating tokens representing economic interests in their planes.
Especially the UI flow: The user doesn't need anything, no email, no login, no payment credentials. Just Metamask and that's it.
So this could be the reference design for the next generation on-boarding.
Would you guys mind to write a blog post about how you created this project + some words about the on-boarding and if other projects have a similar seamless experience (would also give the project visibility again). Thanks!
PS: Just wondering again, is the core of the great UI rather Metamask or your work?
Blog posts definitely coming up!
(1) shazow (co-author) was also the author of the official Keybase Chrome and Firefox extensions, and he did an amazing job. We'd gamble on anything he does. The space we bought wasn't that expensive from a company perspective, and it was an educational experience. And maybe it will draw us attention.
(2) Holy crap, it's really impressive a dapp like this is possible with Ethereum. If it hasn't sunk in yet how this thing works, really read the FAQ and stop to think about it. As shazow and ontoillogical said, "there's no backend!" and "It's immortalized!"
https://gfycat.com/BleakSimilarGermanspaniel
This is the part that blows my mind, it feels like magic every time.
(P.S. Thanks for your support, Chris!)
I notice you buy it then you later change the details?
Well said, because the dynamic is the same. Throw money at the house and hope you win. The house does.
This can't be duplicated (maybe every few years), it's a copy of a previous project, and it is literally a page of ads that won't be worth anything in a month or less. It only has value because of the attention people are giving it right now, so maybe reconsider the investment.
Own a piece of blockchain history!
That doesn't feel the least bit hucksterish to you? They say the same thing about those commemorative coins they sell on late night TV. The only person who gets anything out of this is shazow, so I'm not sure why people are so willingly enthusiastic about supporting it. It has no value except to itself.
This is neat, and novel:
> "Ads displayed above are loaded directly from the Ethereum Blockchain. This Decentralized Application (DApp) does not have a traditional backend. No MVC framework, no SQL database. It's just a JavaScript application served statically from Github which speaks to the Ethereum blockchain using Web3.js."
That they're profiting from it is just an amusing side effect, imo.
A+ would pair program again.
Some random fun facts:
- The frontend "DApp" piece is done with VueJS which has been very fun to work with. It's hosted as a Github Page.
- The backend is done with... there's no backend! The data is directly on The Blockchain, fetched from the browser through a standard-ish API (Web3) provided by your wallet or a gateway.
It's like serverless, but without a server.
Not stating this to be obnoxious, but to be clear - there is a back end for the web page that calls the data from the blockchain ... if (whoever) stops hosting that site or DNS is halted or the domain expires ...
In order to interact with the DApp (buy or publish an ad), you can use a plugin or a wallet app like Mist in order to be able to send transactions to the smart contract. You potentially do it manually by interacting with the contract through a ethereum console and sending the right transaction to the right address, but the browser plugin / app makes the process seamless.
Metamask (the browser plugin) is one - albeit a bit clunky in terms of UX - way of reducing the friction of doing web based ethereum payments, separated from your main wallet
2. Would be great if you could add a traffic counter to the page, so we see how much traffic you guys get.
In our version you're able to bid for each pixel -- if the previous owner is outbid, the funds are returned. Sending funds in Solidity from a contract is really tricky to handle because there are so many ways it can go wrong.
For example, when you send funds to an address, it can purposefully reject your payment and even call back into your own functions. This is like if when you called a REST API, the API was potentially malicious and could call any public function in your code (!).
This is a really fun project and it's cool to see how you can connect web-apps to the Ethereum network.
https://solidity.readthedocs.io/en/develop/solidity-by-examp...
let users pull vs push
I am also working on a Ethereum contract, Solidity language has great risks but also is great fun
Going for literally every pixel is too expensive, so we went for deci-pixels (10x10 pixel blocks). Incidentally, the original Million Dollar Homepage took the same approach to avoid fragmenting the space too much.
Anyways, it looks like a fun project and it will be interesting to see how it finally turns out.
Staying on the same theme, I have no doubt that somebody will also clone the recent Reddit "place" experiment in Ethereum. (https://www.reddit.com/r/place/)
The "bad bytes" are still out there, but at least we don't have to subject the consumers of our frontend to it unless they opt in.
Right... but if your project gains huge awareness (or "notoriety" depending on perspective), someone else can replicate your work and show the bad bytes. (Because the urls are still there in the blockchain.) Unless I'm not understanding the architecture, the project would have escaped your ability to control it.
To what extent does this happen with Ethereum, and won't it mean that distributed applications will basically become unworkable at some point in the future?
Completely untrue. Difficulty is proportional to the hash rate. Transaction time varies as a result of multiple factors.
Some reading and historical difficulty/confirmation time data:
https://blockchain.info/charts/avg-confirmation-time?timespa... https://en.bitcoin.it/wiki/Difficulty http://bitcoin.sipa.be/ https://en.bitcoin.it/wiki/Confirmation#Confirmation_Times
If you're interested in scaling approaches, Vitalik Buterin has written a lot about this issue in a very thoughtful manner, both as it applies to Bitcoin and Ethereum.
Ever wonder why news personalities and many celebs are so seemingly mediocre? It's this glass ceiling.
Platforms like Youtube solve part of the problem, but big fame takes big money, and so the funding mechanism has to be much more direct and consumer-driven than ad revenue sharing. ETH is perfect for it.
Many regulations on money transfers and political donation are designed so that they benefit those already in power. If you want to be a real leader it takes spending in excess of $1B, but once you do it you are feared and adored and have a place in the history books.
This is the game that our leaders are playing already, which is why Paul Ryan has a net worth of over $7M and the Clintons have wealth over $250M. They are simply the beneficiaries of massive marketing campaigns and care little for ideas or substance. Trump is the most blatant one to date.
It will be a good thing when this game is open to real competition so that non-elites can take a shot at getting the next $2B image makeover and a few years controlling the nuclear football.
It all starts with the simple freedom to fundraise and donate so that non-elites can form coalitions to elevate one of their own to larger-than-life status.
It seems to me the surest way to guarantee mediocrity is to incentivise blatant money grabs. Here's a million a dollars for your billboard of ads? That's not going to build the future we are hoping for, it's gonna make someone else in 10 years make another copy.
Alex Tew, the original Million Dollar Homepage creator, runs a VC funded startup in Silicon Valley. Social media stars tend to make their money shilling for big brands. I can't think of any internet stars I'm particularly desperate to see go into politics, and that's not because I'm delighted by the status quo
GP explicitly states that's the current state of affairs. That's the basis of his point, in fact.
We've added a blacklist of url schemes and CSP. I'd like to have a whitelist if I can find one with all known-good schemes we'd like to be able to support. Know of one?
But your 'testing' might get you call from the police. I would be more careful posting xss on live sites.
Ethereum brings a whole development toolchain and ecosystem through the Web3 API which wallets implement, allowing for DApps. Take a look at this GIF, for example: https://gfycat.com/BleakSimilarGermanspaniel
A lot of it could be emulated with Bitcoin through a combination of signed off-chain and on-chain state, but you'd have to convince yours really hard to say it's equivalent.
I'm actually curious if you could make "dangerous ads" where a stray click from a logged in account would trigger a transaction.
Good for you guys. I can't wait to see it filled up!
For displaying, if you browse with Mist or MetaMask, you're pulling the data from the blockchain. When you don't, we show you the ads statically by using a Ethereum gateway.
Either way, reading doesn't cost gas, just bandwidth to keep the blockchain in sync.
However, from an ad spending perspective, I see few drawbacks which hold me back:
- Nowadays, most users are on mobile; often 50%, sometimes even more; this concept doesn't work on mobile because everything is so tiny
- Then, just imagine, this thing is full of ads and links; I don't think that Google's SEO team will classify this page as spam but who knows, from a technical perspective it is a spam page because of that many links
- With so many ads on one page you will face a very low CTR
Bitcoin is about the proof-of-work, everything else is really secondary in the structure. It's too easy to spawn nodes for them to have much economic power in the system. If the companies and wallets support 2X then we will see it rapidly become the dominant chain. It ain't over till it's over and nobody is going down without a fight, I expect in the extreme case Bitcoin core will switch proof-of-work and claim to be the "real" Bitcoin if the miners abandon them.
But also it could go to any gateways which promote and display content from the blockchain, like our thousandetherhomepage frontend. It would be our responsibility to stop violating the terms to the best of our ability, and the NSFW flag is that.
There's an NSFW flag that causes our DApp to not display the ads by default. We (Andrey and I) are able to force the flag true to ads at our discretion.
[Edit] The (probable) reason why they're not storing the images on Ethereum is that that would (currently) be way too expensive. There's things like Swarm [1] which will allow storing data next to Ethereum in a much cheaper manner.
[1] https://ethereum.stackexchange.com/questions/375/what-is-swa...
Nice work!