[{"data":1,"prerenderedAt":571},["ShallowReactive",2],{"project-15393446":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":49,"post_text":51,"what":52,"said":100,"maker_in_thread":204,"shape":214,"grid":218,"attempts":536,"same_week":537,"maker_shows":34,"maker_hidden":564,"reader_version":565,"card":566},"15393446","Thousand Ether Homepage","The Million Dollar Homepage as an Ethereum Smart Contract and DApp","title","Show HN: The Million Dollar Homepage as an Ethereum Smart Contract and DApp","https:\u002F\u002Fthousandetherhomepage.com\u002F","thousandetherhomepage.com","ontoillogical",1507047038,2017,344,117,54,2242,3,"legend","creative","ethereum dapp ad grid","web_app",[24,25,26,27,28],"ethereum","dapp","smart contract","million dollar homepage","ethereum ads","curious",0,{"positive":32,"neutral":33,"mixed":34,"critical":35},14,48,1,17,80,{"idea":38,"pricing":41,"design":42,"performance":44,"execution":45,"docs":47,"privacy":48},{"positive":39,"critical":40},11,4,{"positive":34,"critical":30},{"positive":43,"critical":18},2,{"positive":30,"critical":30},{"positive":30,"critical":46},7,{"positive":30,"critical":34},{"positive":30,"critical":43},[30,18,18,40,18,50,18,40,18,18,34,18,18,34,43,18,30,30,30,30,30,34,18,50,43,18,18,18,34,40,50,18,43,18,18,18,43,50,18,43],5,null,{"problem":53,"audience":51,"pricing":60,"motivation":68,"time_to_build":51,"stack":72,"openness":97,"stage":98,"team_size":99},{"value":54,"source":55,"evidence":56},"Lets people buy and publish ad slots on a pixel grid with no accounts or backend","maker",[57],{"id":58,"by":11,"text":59},"15393466","Author here. My friend and I have been doing some smart contract audits, and we wanted to build a fun contract ourselves. We remembered the Million Dollar Homepage from 12 years…",{"value":61,"source":62,"evidence":63},"0.001 Ether per pixel cell","commenter",[64],{"id":65,"by":66,"text":67},"15395850","judah","Clever take on a vintage concept. Nice work. 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.…",{"value":69,"source":55,"evidence":70},"Fun art project and experiment, not an ICO",[71],{"id":58,"by":11,"text":59},[73,80,90],{"value":74,"source":62,"evidence":75},"Solidity smart contract",[76],{"id":77,"by":78,"text":79},"15400245","baby","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…",{"value":81,"source":62,"evidence":82},"VueJS",[83,87],{"id":84,"by":85,"text":86},"15393613","shazow","Heya, I'm other said friend. We also put together some anticipated FAQs: https:\u002F\u002Fthousandetherhomepage.com\u002Ffaq Some random fun facts: - The frontend \"DApp\" piece is done with…",{"id":88,"by":85,"text":89},"15402534","Metamask is just the bit that pops up to confirm your purchase. The UI is a JavaScript app done in VueJS. Blog posts definitely coming up!",{"value":91,"source":62,"evidence":92},"Web3.js",[93],{"id":94,"by":95,"text":96},"15394672","strictnein","I think you're missing what is interesting about this, from a technical point of view. This is neat, and novel: > \"Ads displayed above are loaded directly from the Ethereum…","open_source","launched","team",{"praise":101,"objections":114,"requests":140,"questions":162,"alternatives":182},[102,109],{"value":103,"source":62,"evidence":104},"Seamless onboarding with no email, password or payment details",[105],{"id":106,"by":107,"text":108},"15401468","brightfog","I find your work very impressive. 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…",{"value":110,"source":62,"evidence":111},"Clever use of the blockchain as a backend",[112,113],{"id":94,"by":95,"text":96},{"id":84,"by":85,"text":86},[115,122,129],{"value":116,"source":62,"evidence":117},"Ads are speculative and lose value once attention fades",[118],{"id":119,"by":120,"text":121},"15394336","aaron-lebo","We'd gamble on anything he does. 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…",{"value":123,"source":62,"evidence":124},"Not mobile friendly and low click-through rate",[125],{"id":126,"by":127,"text":128},"15398816","earlybike","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,…",{"value":130,"source":62,"evidence":131},"Security issue (XSS) via ad links",[132,136],{"id":133,"by":134,"text":135},"15398474","mandatory","Just an FYI this has a pretty bad security issue (XSS) which you might wanna fix ASAP (else people's Ether might get stolen :\u002F):…",{"id":137,"by":138,"text":139},"15398475","satyanash","The system seems to be vulnerable to an XSS attack injected via the contract; the exploit seems to work on Chromium(60) but not on Firefox(55)…",[141,151],{"value":142,"source":62,"evidence":143},"Explain where image data is stored",[144,147],{"id":145,"by":127,"text":146},"15395556","But where exactly is the image data stored?",{"id":148,"by":149,"text":150},"15394678","coralreef","Can someone quickly explain how file storage \u002F bandwidth off the blockchain works? Who pays the gas to deliver it to end users?",{"value":152,"source":62,"evidence":153},"Moderation of ad content",[154,158],{"id":155,"by":156,"text":157},"15394588","csomar","Is there a moderation before the ads go live?",{"id":159,"by":160,"text":161},"15395117","quickthrower2","Is it possible to a stick a ride \u002F offensive message on the ad because it isn't moderated?",[163,171],{"value":164,"source":62,"evidence":165},"Who pays for bandwidth and gas to serve ads",[166,167],{"id":148,"by":149,"text":150},{"id":168,"by":169,"text":170},"15395179","runeks","That is cool! But, if this DApp thing takes off, how will Ethereum nodes be compensated for essentially acting as a free CDN? It works fine as long as there aren’t a lot of…",{"value":172,"source":62,"evidence":173},"Can ads be changed after purchase",[174,178],{"id":175,"by":176,"text":177},"15398040","sturmeh","Wait so how\u002Fwhere is the url\u002Ftitle\u002Fimage stored? (I assume it's a url?) I notice you buy it then you later change the details?",{"id":179,"by":180,"text":181},"15398827","Kiro","How was SysCoin able to replace their broken link? I thought a pixel once placed was eternal and immutable.",[183,190,197],{"value":184,"source":62,"evidence":185},"Reddit r\u002Fplace",[186],{"id":187,"by":188,"text":189},"15394131","jasode","I'm sure the authors don't have malicious intent but this project reminded me of emergent activity getting closer to the \"un-erasable bad byes\" scenario I commented on recently.…",{"value":191,"source":62,"evidence":192},"EthereumPixels",[193],{"id":194,"by":195,"text":196},"15397860","darkmirage","I made something similar https:\u002F\u002Fethereumpixels.com not too long ago! Had more of Reddit's r\u002Fplace on my mind. The source code for the contract and the webapp can be found here:…",{"value":198,"source":62,"evidence":199},"Etherbillboard",[200],{"id":201,"by":202,"text":203},"15396078","michelsonmorley","Great work guys! I did a similar project months ago, if you want to check: http:\u002F\u002Fetherbillboard.com\u002F The main difference that the image is stored directly in the blockchain, but…",{"comments":205,"answered":50,"key":206},9,[207,208,211],{"id":58,"text":59},{"id":209,"text":210},"15395235","The images are actually hosted over http (or ipfs or swarm). The former requires you to find a host, and the later two have ways of compensating for traffic :)",{"id":212,"text":213},"15394503","Getting to work with shazow has been the best part of this project. A+ would pair program again.",{"commenters":215,"max_depth":216,"maker_replies":205,"first_comment_mins":34,"lifespan_hours":217},75,6,172,[219,221,225,227,231,234,236,240,243,245,248,250,252,255,256,257,259,261,264,266,268,271,274,278,282,283,284,288,289,293,295,299,303,306,308,311,313,316,318,321,322,325,328,330,334,336,338,341,344,346,348,351,354,357,361,364,366,368,370,372,375,378,381,382,385,388,392,395,397,400,402,406,409,411,413,416,418,420,423,425,426,430,432,434,436,438,439,443,446,450,451,453,455,458,461,465,469,472,474,479,482,485,489,491,493,495,499,501,504,508,511,516,518,521,524,528,532],[58,30,30,220,11,34],"project\u002Fpositive\u002Fidea",[222,30,30,223,224,30],"15393673","other\u002Fneutral\u002Fnone","kowdermeister",[226,30,30,223,85,30],"15393714",[228,30,18,229,230,30],"15394498","project\u002Fneutral\u002Fidea","notahacker",[232,30,30,223,233,30],"15397007","YCCoin",[65,30,50,235,66,30],"project\u002Fpositive\u002Fpricing",[237,30,34,238,239,30],"15397421","project\u002Fcritical\u002Fidea","lgas",[241,30,18,229,242,30],"15397536","fiatjaf",[244,30,18,229,176,30],"15398024",[246,30,18,229,247,30],"15398273","rtpg",[106,30,50,249,107,30],"maker\u002Fpositive\u002Fdesign",[88,30,18,251,85,30],"maker\u002Fneutral\u002Fdesign",[253,34,50,220,254,30],"15394327","malgorithms",[119,34,34,238,120,30],[94,34,50,220,95,30],[168,34,18,258,169,30],"project\u002Fneutral\u002Fperformance",[209,34,30,260,11,34],"maker\u002Fneutral\u002Fperformance",[262,34,18,229,263,30],"15394714","hyfen",[212,34,30,265,11,34],"commenter\u002Fneutral\u002Fnone",[267,34,30,265,85,30],"15394507",[269,34,50,270,85,30],"15394538","project\u002Fpositive\u002Fdesign",[272,34,50,220,273,30],"15394733","billmalarky",[275,34,34,276,277,30],"15395954","project\u002Fcritical\u002Fexecution","eridius",[279,34,18,280,281,30],"15396483","project\u002Fneutral\u002Fexecution","drampelt",[175,34,18,280,176,30],[77,34,18,280,78,30],[285,34,18,286,287,30],"15395687","project\u002Fneutral\u002Fpricing","ballenf",[84,43,18,251,85,30],[290,43,18,291,292,30],"15394883","project\u002Fneutral\u002Fdesign","beefman",[294,43,30,251,11,34],"15394904",[296,43,18,297,298,30],"15401215","project\u002Fmixed\u002Fdesign","dharma1",[300,43,34,301,302,30],"15397637","project\u002Fcritical\u002Fdocs","rsync",[304,43,18,229,305,30],"15397857","thepredestrian",[307,43,18,291,127,30],"15399214",[309,18,30,223,310,30],"15393788","jashmenn",[312,18,18,280,85,30],"15393811",[314,18,18,258,315,30],"15394807","bonzini",[317,18,18,258,85,30],"15396613",[319,18,18,280,320,30],"15394201","ojr",[187,40,34,238,188,30],[323,40,18,324,85,30],"15394177","maker\u002Fneutral\u002Fprivacy",[326,40,34,327,188,30],"15394239","project\u002Fcritical\u002Fprivacy",[329,40,18,324,85,30],"15394348",[331,40,18,332,333,30],"15394324","project\u002Fneutral\u002Fprivacy","thisisit",[335,40,18,332,85,30],"15394382",[337,40,18,332,333,30],"15398770",[339,50,30,223,340,30],"15395442","archagon",[342,50,30,223,343,30],"15395636","virtuexru",[345,50,30,223,340,30],"15395770",[347,50,30,223,343,30],"15395799",[349,50,30,223,350,30],"15398537","xrd",[352,50,30,223,353,30],"15396217","Obi_Juan_Kenobi",[355,50,30,265,356,30],"15400615","celticninja",[358,216,30,359,360,30],"15394019","other\u002Fneutral\u002Fidea","grandalf",[362,216,30,363,120,30],"15394124","other\u002Fcritical\u002Fidea",[365,216,30,223,230,30],"15394544",[367,216,30,223,360,30],"15394845",[369,216,30,265,230,30],"15394931",[371,216,30,223,360,30],"15396313",[373,216,30,223,374,30],"15395194","yyyyip",[376,216,30,265,377,30],"15398584","uncle_d",[379,216,30,265,380,30],"15394741","Gargoyle",[133,46,34,276,134,30],[383,46,34,276,384,30],"15398578","sccxy",[386,46,30,387,11,34],"15400898","maker\u002Fneutral\u002Fexecution",[389,390,18,229,391,30],"15395930",8,"rakoo",[393,390,18,229,394,30],"15396071","TD-Linux",[396,390,18,229,85,30],"15396162",[398,205,50,220,399,30],"15394011","johncoogan",[401,205,30,265,85,30],"15394061",[403,404,34,276,405,30],"15394693",10,"anonfunction",[407,404,18,332,408,30],"15395804","SomeStupidPoint",[410,404,18,324,85,30],"15396040",[412,404,18,280,340,30],"15396671",[414,404,30,265,415,30],"15397077","warent",[417,404,18,258,408,30],"15397794",[419,404,18,387,85,30],"15397796",[421,404,18,280,422,30],"15396011","addedlovely",[424,404,30,387,11,34],"15396066",[194,39,30,223,195,30],[427,428,18,280,429,30],"15394593",12,"jstanley",[431,428,30,387,11,34],"15394906",[433,428,18,280,85,30],"15395367",[137,435,34,276,138,30],13,[437,435,34,327,134,30],"15398520",[201,32,50,220,202,30],[440,441,50,220,442,30],"15397139",15,"modeless",[444,441,30,265,445,30],"15397220","brianorwhatever",[447,448,50,220,449,30],"15394063",16,"huangc10",[148,35,18,280,149,30],[452,35,30,387,11,34],"15394938",[454,35,18,280,149,30],"15396101",[456,35,18,280,457,30],"15396752","pests",[126,459,34,460,127,30],18,"project\u002Fcritical\u002Fdesign",[462,463,34,276,464,30],"15395772",19,"JoblessWonder",[466,467,50,220,468,30],"15397487",20,"buttershakes",[470,467,30,223,471,30],"15427931","moosemeat",[473,467,30,223,468,30],"15444977",[475,476,18,477,478,30],"15395979",21,"project\u002Fneutral\u002Fnone","tar--help",[480,476,18,481,85,30],"15396184","maker\u002Fneutral\u002Fnone",[483,484,34,460,340,30],"15396607",22,[486,487,50,220,488,30],"15396475",23,"BenjiWiebe",[155,490,18,477,156,30],24,[492,490,30,481,11,34],"15394969",[179,494,18,280,180,30],25,[496,497,18,229,498,30],"15395568",26,"jqueryin",[159,500,18,280,160,30],27,[502,503,34,276,180,30],"15395403",28,[505,506,50,220,507,30],"15394855",29,"meddlepal",[509,506,30,265,510,30],"15396094","Tepix",[512,513,18,514,515,30],"15397842",30,"project\u002Fneutral\u002Fdocs","jtchang",[145,517,18,280,127,30],31,[519,517,18,280,520,30],"15395637","terhechte",[522,517,18,286,523,30],"15396312","sgt",[525,526,50,220,527,30],"15398810",32,"nickporter",[529,530,34,238,531,30],"15397304",33,"bau5",[533,534,34,460,535,30],"15396484",34,"horsecaptin",[],[538,542,547,551,555,559],{"id":539,"name":540,"points":541,"category":20},"15383336","fast-style-transfer-deeplearnjs",266,{"id":543,"name":544,"points":545,"category":546},"15357394","RMStudio",154,"dev_tools",{"id":548,"name":549,"points":550,"category":546},"15367645","ARKit Playground",151,{"id":552,"name":553,"points":554,"category":546},"15386981","InstaBuild",124,{"id":556,"name":557,"points":558,"category":546},"15356599","Sitebulb",120,{"id":560,"name":561,"points":562,"category":563},"15392777","Nematoduino",101,"hardware",false,"v2",{"id":567,"name":5,"line":6,"ai":564,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":568,"maker":11,"domain":10,"tier":19,"attempts":30,"strip":569,"url":9,"mix":570,"praise":103,"objection":116,"sub":21},15393446,[24,25,26,27,28],"0334353433133123000001352333145323332532",[32,33,34,35],1793990964727]