6 ms·
I recently got pretty pumped about exploring developing for the Ethereum network and spent an entire weekend reading everything I could about the protocol, the
by increment_i 9y ago
I recently got pretty pumped about exploring developing for the Ethereum network and spent an entire weekend reading everything I could about the protocol, the development ecosystem, language and anything else I could find - blog posts, tutorials, experiences from other developers.
I came away with my initial enthusiasm completely dashed. I can't for the life of me imagine why any sane developer would ever want to work within the constraints of Ethereum. It just doesn't seem to me anywhere near ready for any kind of serious development, or even trivial development for that matter.
I'd love to hear rebuttals to this. Is anyone out there doing anything interesting with this platform?
- tejaswiy 9y agoI generally agree with you, but would like to know about your specific concerns, what did you dislike about it?
- utnick 9y agoHere were mine Here were a few of mine, I’ve tried to get into ethereum a couple times - installing mist and getting it to sync is very difficult and time consuming - connecting to a testnet and getting ether on the testnet is also very difficult - most ‘cool’ dapp ideas rely on oracles to publish data about the real world into the block chain. When you dive into it you realize that such an Oracle would be very very expensive to run for even trivial usecases.
- thisisit 9y ago> most ‘cool’ dapp ideas rely on oracles to publish data about the real world into the block chain. When you dive into it you realize that such an Oracle would be very very expensive to run for even trivial usecases. how much does it cost to run an Oracle?
- TheDong 9y agoDepends greatly on the problem domain. For example, if the problem domain is football games and gambling, well, scraping the results of those games from existing apis isn't too hard nor expensive. If it's based on real-world stuff with no existing consistent API (e.g. you want a app based on housing), you'll either need to build that API, find a company to research and enter the data, etc.
- Kiro 9y agoWhat's the point of building the app on Ethereum if the source (the Oracle) is centralized anyway?
- philfrasty 9y agoThere are implementations like Chainlink running decentralized oracles. At the end of the day, the data-source is still the bottleneck but they try to discourage bad actors through e.g. reputation mechanisms.
- thisisit 9y agoOkay, how much cost will it cost to run an Oracle for some existing API?
- pests 9y agoAn Oracle is just a program that movies data onto the blockchain for dapps to use. The data is an input to a transaction that eventually results in the EVM storing that data into a contracts (dapps) memory (which you pay per byte) that can then be exposed to other dapps.
- thisisit 9y agoThank for that explanation. How much would you say a simple Data input will cost?
- 9y ago
- malux85 9y agoI’m a pretty experienced solidly / ethereum developer, and a developer with 13 years experience in vast array of systems and languages (from embedded C on ppc to high performance c++ and now deep learning and scientific computing in python). I completely agree with you, that there’s some very odd language choices in solidity, seemingly rookie mistakes, and the tooling is very poor. But! It’s the 1.0 of crypto. Early C stuff was poor, early html development was poor, early OpenGL development was poor, it’s just new. I see it as a lot of room for opportunity, but I could also see how it could be frustrating to some more senior people - but I have found part of growing old and seeing things constantly get re-invented but slightly different are windows of opportunity - so I get excited
- stevehawk 9y ago> early html development was poor, what you got against <blink>?
- nikkwong 9y agoCould you touch on what you find are the short comings of solidity?
- quickthrower2 9y agoThere was a semi-joke post on HN a while back where someone created a 'pyramid' lispy language using Racket, which complied to solidity. But in seriousness, a Haskell -> solidity compiler, might make it bearable.
- DeadReckoning 9y agoI feel the same way. I find it hard to get started even with truffle. I wish there were more blog posts and examples
- deleted 9y ago[deleted]
- emerged 9y agoI had the exact same experience, joined a project which was relying upon Ethereum. Spent several days learning everything about it and messing with the technology. Every moment the interest slowly waned as frustration upon frustration added up into a realization that this tech is nowhere near ready to base huge important projects off of it.
- jaaames 9y agoGlad I'm not insane, spent a long haul flight digging into Solidity docs and truffle and it seemed like a minefield of trouble to build crippled applications.
- nowarninglabel 9y agoHeh, you think that now, was trying almost two years ago and it was rather arduous. It's improved some though not by a ton.
- Gargoyle 9y agoI've only tried some small things with it, but ever understanding what it was trying to do two years ago was a major challenge. Not Urbit-level esoteric, but in the same realm. At least now it's more or less coherent with some good intros and good tutorials. One thing I do like is having a meaningful incentive to be efficient. Kinda like my earliest days fiddling with assembler as a kid.
- westoque 9y agoI believe a huge barrier to entry is the lack of accurate, concise documentation. I did my fair share of solidity development myself and it was hard for me to find references on simple basic development on the platform. Diff ways to setup, diff sandboxes, no proper introduction of the tools, etc.
- timothyjcoulter 9y agoWhat's your take on these? http://truffleframework.com/docs/ http://truffleframework.com/docs/
- guiomie 9y agoI had so much issue also. Getting unit tests working with Truffle was a real pain. There is a serious lack of good, concise and clear documentation.
- smuemd 9y agoYou have to conceptualise ethereum as a market communication bus to exchange business information between autonomously acting market partners. Nothing more nothing less. Smart contracts encapsulate market logic, i. e. the stuff where market partners have a need to verify that the information (or value) shared was/is processed exactly as specified. The key insight is to limit your utilisation of smart contracts to this type of application. You want to keep your smart contract super simple and focused on doing only one thing. Also note that marktet logic is almost always just a tiny fraction of the overall business logic of whatever you are building. So there will always be this other place where you develop the rest of your app with more traditional means (e. g. Javascript) To integrate the blockchain powered market communication bit into your app, you simply wrap your deployed smart contracts into a software wallet such as ethters.js. This makes the solidity methods available in you application as simple js functions via dot notation for example. Here is an implementation of this: https://github.com/energychain/StromDAO-BusinessObject https://github.com/energychain/StromDAO-BusinessObject you can just `require` the business object in you app and have access to 30 or so smart contracts that fire into a PoA blockchain network called Fury. Its actually quite simple. Take a look at the tests in the github repository. You can even trigger smart contract factories to mint your own preconfigured contracts if need be. Here is an other example. A subset of the same smart-contracts but implemented withing a command line tool: https://github.com/energychain/BusinessObject-MeterPointOperation https://github.com/energychain/BusinessObject-MeterPointOper... What you end up with then is a rather traditional app that 'composes' smart contracts to read and write stuff into/out of a blockhain network where appropriate.
- skilesare 9y agoEthereum is limited. If you ran into limits with solidity then you ran up against the limits of Blockchain tech as we enter 2018. Use those limits as programming puzzles and go create something great. I find the limitations make me more creative. Solidity has some funkyness and that will get resolved, but there is still a ton you can do with it.