Like, what should a user expect to see when visiting the application, and what a developer could expect to make developing this application further?
I see a "gas" and a "gasprice" used, but ctrl-f doesn't show anything in HN comments, nor in the readme outside of the code, indeed the code itself is commented with:
// Someone help me understand this.
However when you send an ethereum transaction (i.e you modify data in the blockchain) you need to pay the miner in ether. You cant pay in gas. So you have to specify how much ether you are willing to pay for each unit of gas, i.e the gasprice. The combination of both (gas x gasprice) will give you the maximum amount of ether you are willing to spend for this transaction.
If you are interested, I have actually just published a video about the "truffle unbox" command:
And here you will find the official docs for how to publish your own truffle box:
(Disclaimer: I was a big contributor)
Also note that `ganache-cli` is not strictly required in addition to truffle, as one can use `truffle develop` to get a local test chain.
So what exactly can these be used for other than for what ordinary paper contracts are used? What does it mean to build an app with this? Is this just about developing digital wallets/baskets or what?
Yes, I am this stupid when it comes to this subject. I would really appreciate if somebody could direct me to an article/video/book that would explain the thing from the practical point of view for a plain old application developer having zero understanding of what's this all about.
More than 4 billion people don’t, and even those of us who do, should probably use our non-corrupt climate to implement these anti-corruption use cases while our political leadership isn’t corrupt. I mean, even if we never turn to corruption it’s infinitely easier to implement when you don’t need it.
Aside from that private sectors like container shipping desperately need a secure and global way to authenticate container ownership. Shipping the piece of paper that will let you pick up a container at a dock is currently more expensive than shipping the container itself, because anyone with that paper can steal your stuff.
Or what about making sure consumers know that they are actually buying your brand and not a copy?
That being said, most of those use cases won’t be decentralized. Maersk isn’t going to utilize public nodes, they’ll run their own.
In sufficiently corrupt countries they don't even have to disappear, they just can be either ignored easily or proclaimed illegitimate. A blockchain record saying you own something means nothing in countries where these are not legally recognized and I don't know any where they are (but Estonia, perhaps) and especially in corrupt countries where police and judges do whatever they are told by particular people rather than the law, the evidence or whatever. Also, a person can just come and beat the secret key out of you and submit whatever transactions he wants to the actual blockchain in countries like that.
Once you drop those constraints, the door opens for all kinds of applications that would be too slow or complex to execute on government infrastructure.
For example, I could configure my vehicle to keep track of pothole locations, and then every time it swerved to avoid one I put 25 cents worth of cryptocurrency into a wallet with an associated smart contract that says: this money goes to anybody who fixed the pothole.
Later, somebody fixes it and notifies the smart contract of their claim against my reward.
Next time I'm near that pothole, my vehicle either inspects is or prompts me to, and if it seems fixed, the fixer gets the money.
Without smart contracts it's difficult for the would-be fixer to know that the promised money even exists, and to be sure I'll actually deliver.
Now maybe the app above needs to be tweaked to include somebody who is a trusted pot-hole inspector who goes around doing the inspections (in exchange for a cut). Maybe that trust comes from the fact that they wrote the app in the first place.
The point is, you can have apps that make decisions in a way that can't be tampered with. Want to withdraw your pothole donation? Too bad, the contract is the only software that can move funds out of that wallet. The only way to unlock them is to find somebody to fix the pothole.
That's something that would be difficult to ensure without a smart contract.
vue.js is just for a pretty frontend for the apps.
By the way, can I use the blockchain as a decentralized replacement for a database (e.g. instead of MongoDB/CouchDB) for my app so that all the data submitted (provided it's lightweight immutable semantic data, i.e. "facts" accompanied with small (never bigger than 256 symbols, usually smaller) amounts of parameters) will be stored in the blockchain? If yes, where do I get started (without having any blockchain experience to the moment)? Is there some kind of tutorial that would explain this vue-ethereum-ipfs things (the README.md of the repo by the links makes near-zero sense to me but I am eager to develop a "multiplayer" VUE app that would store its data "nowhere and everywhere")?
you surely could use the blockchain as a database, because you can attach small amounts of arbitrary data to blocks, but it would be very inefficient (transaction fees!). something like ipfs is probably a better solution.
i'm not a software developer, i just think this stuff is really cool and follow projects. someone with more technical chops could definitely give you some better pointers! i do have this bookmarked, though: https://dappsforbeginners.wordpress.com/
In centralized server (server in AWS), the gate keeper can tamper the voting records (UPDATE voting set your_champion_voting = 100).
With smart contracts on top of Ethereum, that is impossible.
So you need a neutral third party to keep the records in case the centralized server does the malicious behaviour.
This can be done, I admit. But in a corrupt society, it is hard to find a neutral and trusted party.
Other way is using blockchain to record the logs and incentivize the miners to maintain the nodes. You can not bribe the cryptography.
For a more in-depth answer regard smart contracts, here is an article by Vinay Gupta where he sets the context for Ethereum, smart contracts and blockchain against the existing way of organising and sharing data (SQL, the web, how organisations share data, protocols, and more):
Assuming the crypto was strong enough to guarantee privacy, how does an application automatically allow a user to transparently decrypt topics they’re invited to?
Point to point trust seems relatively easy with asymmetric encryption but point to point to point to point?
Anyways, yes I completely agree with you, privacy is not a feature. Decentralization in general suffers from the inability to manage privacy and I think that’s where future applications of the technology are going to struggle to gain traction beyond niche audiences.
Check out Dan Grossman’s http://www.hnreplies.com
Following the README, I've got a ganash testnet and imported the accounts into metamask. truffle compiles the (empty) contracts into ./build/. It seems like at this step there should be an http server to give firefox/metamask something to visit, or a gateway.ipfs.io url to retrieve some HTML that was uploaded into IPFS. This second half of HTTP/IPFS is still a mystery. Please extend the README, thx.
It seems to be an app that initializes web3 and saves a contract... a contract to do what?
We also have a decentralized tool, and people are building stuff like:
- Testing character-by-character realtime updates on a social networking dApp in a P2P mesh-network of devices: https://www.youtube.com/watch?v=C3akdQJs55E
- A 3D multiplayer VR game in the browser: https://www.youtube.com/watch?v=s_m16-w6bBI
And more! Note, this is not using Ethereum, but our decentralized tool: https://github.com/amark/gun , and here is a 4 minute and 40 LOC interactive coding tutorial that shows you how to get started: https://scrimba.com/c/c2gBgt4
So far CryptoKitties is the most interesting actual dApp I've seen with Ethereum. Does the op/parent github repo help enable building real dApps like above? I hope so.
I look forward to when it works with being able to be backed with multiple types of assets (e.g. The digix asset)
But, I agree, it may have been more concise to just use shorthand.
The chain still includes the transaction history of what happened with the DAO, but the hard fork added a special case unique state change which undoes most of the effects of the transactions that happened with the DAO.
So, the transactions still are recorded as having happened, but the state was edited?
Not that that necessarily is a particularly important distinction, but I think it is one that can reasonably be made.
You can't just throw out or dismiss the historical failures of the model because it doesn't fit the ongoing narrative. The DAO was a glimpse at how easy the theory is corrupted, whether it started for the right reasons or not.
Ethereum -> ETC.
New Coin -> Ethereum.
The market said New Coin a.k.a. Ethereum is worth more. But who cares about fiat, eh?
'I can calculate the movement of stars, but not the madness of men'.
If more professional investors get involved, that would likely change some.
You didn't mention it not being a blockchain. Words matter.
I think the fork was a mistake as well, but that doesn't make something centralized.