Live data from Hacker News

How to Learn Solidity: The Ultimate Ethereum Coding Guide

blockgeeks.com

11–20 of 56 posts

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#11
post #3

And remember, that there's a special function called VIP() . This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code. It happened with the DAO,…

The real story of what happened during the DAO to me seemed like fast, responsive, and intelligent leadership.

They had a problem, they asked the community how they would like it dealt with, and acted accordingly.

Saying the founders were losing too much money so they hard forked it is a gross misrepresentation of the reality. It's like a Fox News representation of what actually happened.

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#12
post #10
post #7

Earlier quoted context omitted.

Your Solidity contracts can run on Ethereum Classic, which you can be confident won't be forked since its users tend to believe in the principle of the immutability of the code.

The classic branch is still susceptible to the same problem, though. They didn't fork because of the DAO, but who's to say they won't fork because they don't like the result of a different contract? If I'm going to trust the enforceability of my contract to some group of people, I trust the established legal system--warts and all--much more than the mob rule of the Ethereum crowd.

The dev team for Classic is much less likely to attempt to do so, and the miners less likely to adopt such a fork, since they declined to accept the fork the first time it happened.

If a fork happened in Classic to protect some party's financial interests, I think the more likely scenario is the great majority of miners opting to stay on the original branch.

I get that it's not a complete guarantee, but neither is the legal system. Contracts can be invalidated based on a judge's perception of their unfairness, on a technicality, or even on a whim.

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#13
post #3

And remember, that there's a special function called VIP() . This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code. It happened with the DAO,…

To me, this turns me off to the entire tech, no matter how stupid and kneejerk that sounds. If the biggest draw to get me using your technology (immutable contracts) is actually not true, then I'm less inclined to give it a shot outside of novelty value.

Unfortunately it's not an honest portrayal of events.

Disclaimer: I was a DAO investor. The DAO held 5% of my Ether at the time of the attack.

Having said that, it's not as simple as saying: I support the DAO refund because it was in my best interest. That doesn't necessarily follow, and it didn't necessarily follow for most of the other DAO investors.

I still held 95% of my crypto $ in Ether. I would have been happy to eat the 5% loss if it would have been the right thing to do and instilled confidence in Ethereum and its leadership. There were many debates at that time about what the right course of action was, and it was a very hard decision. If saving 5% of my investment meant I ended up with a worthless 100%, it would be foolish to save that 5%. And everyone else knew this as well.

I think the decision the Ethereum team made was the best moral and legally advisable choice. They had the opportunity to stop the theft of 14% of all Ether, which would have gone to a criminal actor. It required a very risky solution (a hard fork) which came with big consequences (an alternative chain which remains to this day), so the solution wouldn't be feasible for smaller attacks (as some people like the poster before you try to allege). But for an attack which threatened 14% of the available supply, a hard fork to retrieve the funds was a viable solution.

Most of the market agrees with this decision. In the time since the Ether market cap has grown to the second largest of any cryptocurrency at 1/2 the size of Bitcoin. The alternative chain that didn't fork is still alive but only has less than 10% of the Ether market cap. The vast majority of dApps are running on the Ether chain. And it's the chain that is being taken seriously by enterprise (look up "Enterprise Ethereum Alliance"). Large businesses know the founders can't simply hard fork whenever they want to better themselves. The model works around consensus, consensus that is clearly shown by the considerations listed above, and I am glad that the consensus model is strong enough withstand an attack on 14% of its supply and respond with a difficult solution to rescue the chain from a catastrophe. It makes me feel more confidence in the technology, the community, and the protocol.

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#14
post #7
post #3

And remember, that there's a special function called VIP() . This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code. It happened with the DAO,…

Your Solidity contracts can run on Ethereum Classic, which you can be confident won't be forked since its users tend to believe in the principle of the immutability of the code.

Ah, have fun over there

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#16
I've been using Solidity for a bit. I wouldn't say it is my favorite language, it's a bit too javascripty for my personal preference, and its genuinely hard not to introduce subtle security flaws into the code. As a smart contract language it leaves a lot to be desired. That being said, it is really the only game in town on Ethereum right now. The other language implementations on the EVM are in various states of disuse. If you are interested in smart contracts on Ethereum you have to learn Solidity unless you want to reinvent the wheel with your own language implementation.

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#17
post #11
post #3

And remember, that there's a special function called VIP() . This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code. It happened with the DAO,…

The real story of what happened during the DAO to me seemed like fast, responsive, and intelligent leadership. They had a problem, they asked the community how they would like it dealt with, and acted accordingly. Saying the founders were losing too much money so they hard forked it is a gross misrepresentation of the reality. It's like a Fox News representation of what actually happened.

It's completely the wrong way to handle this. To me, this "currency" is dead. There is no trust, other than if the creators lose more money on a venture, they'll "convince" the community to reverse it. I remember reading and playing around with it when it came out. It was raw, bare, and frankly awesome. The base tenant was that:

"The Contract is the Code, and the Code is the Contract."

It was a programmers no-man's land where anyone could stake a claim, and start doing cool stuff. And if you screwed up, it was your fault. Nobody else's. And you had to watch out, because it was easy to lose money into nothingness (yeah, BTC had checksums, Eth didnt - another point of amateur hour).

Until the DAO.

When that happened, I think $150m of Eth went into it. Massive amounts. The idea was to have a distributed living self-autonomous company. And, by the older ideals, lots of someones didn't do their homework. Or they did and it was intentional. Regardless, the "completely innocent magnanimous leaders of Ethereum" decided to force a Blockchain split, and rewind it all. Of course, Something like 2/3's of the total amount was owned by Ethdevs. Surprised? Nope.

Bitcoin? Sure, I'll play. But Ethereum has proved that if you are in the special class of people (Creators with loads of money lost), you don't matter. Nor do the ideas of what they were supposedly founded with.

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#18
post #3

And remember, that there's a special function called VIP() . This is an implied function that wraps around your full code. This is instantiated if/when core founders are losing money on a function that possibly had a bug in it. This function returns the wrapped function, under the guise of a new blockchain, with invalidations applied to all 'unintentional' side effects of bad or buggy code. It happened with the DAO,…

To me, this turns me off to the entire tech, no matter how stupid and kneejerk that sounds. If the biggest draw to get me using your technology (immutable contracts) is actually not true, then I'm less inclined to give it a shot outside of novelty value.

> Ethereum contracts are unstoppable and uncensorable until a core developer loses money

Source: https://news.ycombinator.com/item?id=14162399

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#19

I've been using Solidity for a bit. I wouldn't say it is my favorite language, it's a bit too javascripty for my personal preference, and its genuinely hard not to introduce subtle security flaws into the code. As a smart contract language it leaves a lot to be desired. That being said, it is really the only game in town on Ethereum right now. The other language implementations on the EVM are in various states of dis…

well said, agree with you!

Re: How to Learn Solidity: The Ultimate Ethereum Coding Guide

#20
post #14
post #7

Earlier quoted context omitted.

Your Solidity contracts can run on Ethereum Classic, which you can be confident won't be forked since its users tend to believe in the principle of the immutability of the code.

Ah, have fun over there

I'm not wholly on one side of the fence or the other on the fork. But since the decisions made by the community involved can affect your holdings, it's reasonable to advise people to choose the community that has similar values to them.

Unless they're interested for purely speculative purposes, in which case it was a good bet that the non-Classic version would be more remunerative.

Post reply on HN