Live data from Hacker News

Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

thousandetherhomepage.com

111–120 of 126 posts

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#111

Earlier quoted context omitted.

I see. (As I said, I know next to nothing about cryptocurrencies.) So what happens when the last block is mined? Everyone just hopes that miners stick around based on transaction fees? Does Ethereum have a similar "last block" problem, if it even is a problem?

> So what happens when the last block is mined? The best estimate is that the last block will be mined around 2140 based on the block reward halving frequency of four years. According to math and knowledge that there are 32 halving events, in 2136, the block reward will yield 0.00000168 BTC per day, which is 0.00000042 BTC per block. We will all be dead ;) but to answer your other question yes transaction fee's will…

I won't be dead. I'll be putting my DNA into the blockchain and will have immutable eternal life.

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#112

Just an FYI this has a pretty bad security issue (XSS) which you might wanna fix ASAP (else people's Ether might get stolen :/): https://twitter.com/IAmMandatory/status/915439417665261568

Yeah it is broken.

But your 'testing' might get you call from the police. I would be more careful posting xss on live sites.

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#113
post #51

Earlier quoted context omitted.

Plus the punks that skip traditional routes to mainstream attention end up on major record labels just like the original elites anyway. 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…

Slate star codex/Scott Alexander is a good example of internet-driven democratization of opportunity. A trainee psychiatrist from somewhere in the Midwest, the quality of his blog posts on economic and social issues has led to him being one of the most influential thinkers around at present.

I think you just demonstrated the fat-tail balkanisation of the web - Brit here, never heard of this dude.

For many still, the first time they hear of someone outside their own bubble will be when e.g. old media invites them on as a guest, due to their Internet fame.

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#114
post #24

Earlier quoted context omitted.

I am wondering what capabilities do you guys have as admins other than the NSFW flag? And how does the NSFW flag affect the rendering when using Mist or Parity?

We control the presentation layer (the domain, the VueJS app). If you're using our presentation layer, then you're essentially rendering what we programmed to be rendered. In this case, NSFW is default not rendered but you can toggle it in the footer. If someone forks our presentation layer, they can launch it on another domain to do whatever they want.

But...if some ad buyer doesn't set the NSFW flag then how do you control the presentation layer? Can you guys actually set the flag later then?

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#116
This is so well executed. After looking at it many times, I am really impressed.

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

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#118
post #3

Heya, I'm other said friend. We also put together some anticipated FAQs: https://thousandetherhomepage.com/faq 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 walle…

1. Are also animated gifs possible?

2. Would be great if you could add a traffic counter to the page, so we see how much traffic you guys get.

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#119
post #28

Earlier quoted context omitted.

By the way, here's a GIF of what the buying process looks like: 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!)

Wait so how/where is the url/title/image stored? (I assume it's a url?) I notice you buy it then you later change the details?

it's stored on the blockchain, inside the transaction that calls the payable function.

The setup is done in two steps:

1. you must pay for a rectangle area via the `buy` function (notice the `payable` specifier):

    function buy(uint _x, uint _y, uint _width, uint _height) payable returns (uint idx) {
2. then you can setup your ad via the publish function:

    function publish(uint _idx, string _link, string _image, string _title, bool _NSFW) {

~~~

For more details in 1:

* the cost of the area you're trying to buy is calculated as _width * _height * pixelsPerCell * weiPixelPrice

* with weiPixelPrice = 1000000000000000 and pixelsPerCell = 100

* The grid is defined as a double array of 100x100:

    bool[100][100] public grid;
* The for loop checks that none of these pixels are set to true, if any pixel is then `revert` reverts any changes to the state that happened during execution. Otherwise the relevant coordinates are all set to true.

* The space is reserved under the address that send the ether (`msg.sender`). To do that, an `Ad` struct is filled with the information and it is pushed unto the state.

   Ad memory ad = Ad(msg.sender, _x, _y, _width, _height, "", "", "", false, false);
   idx = ads.push(ad) - 1;
* It returns an index (`Idx`) that you can use to specify the details of your ad later.

~~~

For more details in 2:

* You must pass the `index` of your reserved space as argument to the function

* It will check that your address is indeed the address which reserved the space:

   require(msg.sender == ad.owner);
* It sets everything to the arguments of the function you're calling.

* An event is triggered, it is probably being listened to by the web app so that the web page can be updated live

   Publish(_idx, ad.link, ad.image, ad.title, ad.NSFW || ad.forceNSFW);

~~~

Notes:

* Looks like you can call the `publish` function over and over. Modifying your ad over and over.

* There is a `forceNSFW` function that the contract owner can use to force an ad to have the `NSFW` flag. But this can be re-modified again and again by the ad owner.

* But the owner of the contract can remove ownership of an Ad, so there's that.

* I just audited the contract and I couldn't find any vulnerability.

Re: Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp

#120

OK, so I basically know next to nothing about cryptocurrencies. I do know, however, that Bitcoin is undergoing a cooling of sorts on account of the block difficulty getting higher and higher. As a result, transactions now take forever to verify and fees are going up. At some point, unless drastic steps are taken, this will presumably result in a "heat death of the universe" scenario. (I guess the software is constant…

To be fair you don't know what you think you know. Most, if not all, of your comment is incorrect.
Post reply on HN