Any devs here?

anyone here developing on the eth blockchain? is it hard to get into? is there demand for eth devs? what frameworks and languages should i be familiar with?

is this all just a big meme or are there actual products being developed right now?

i'm not sure if i should invest my time into learning this stuff, considering the demand for devs could drop to 0 if the bubble bursts.

Attached: Decentralized-Applications-in-Blockchain.png (650x342, 262K)

Other urls found in this thread:

blog.decred.org/2018/02/28/2018-Decred-Roadmap/
safaribooksonline.com/library/view/building-blockchain-projects/9781787122147/
blog.ycombinator.com/building-for-the-blockchain/
happyfuncorp.com/whitepapers/webthereum
remix.ethereum.org/
martinfowler.com/eaaDev/EventSourcing.html
youtu.be/JHGkaShoyNs
youtube.com/watch?v=Qlm4OXxmIjI
twitter.com/SFWRedditGifs

bump

Yep. Just do it OP. By the end of the year things will be starting to really take off. It'll be a whole new frontier of coding - so get ahead of it.

If you're familiar with the standard set of languages (Javascript, C, Python etc) that's more than fine. The only real catch is you can't patch the contracts after launch - so no more sloppy, unsafe and untested bullshit like we're used to churning out. Test, retest and test again. Contracts are actually pretty simple, you can easily knock out the typical ponzi in about an hour. The catch is making sure it's flawless, and that takes time. Obviously whatever front end you use should be tight as well.

Learn solidity, node.js, truffle, linux.
You'll have to change focus as a coder from bashing up shit and hopeing that errors will get cought in testing to attempting to do shit in as most correct way as possible.

don't expect to do flashy, neat shit or risk losing real fucking money.

Isn't it a huge red flag that you can't update an existing contract? I like how everything is becoming tamper-proof, but in version controlled systems you can still make updates without going out of sync with the rest of the network. why can't updates be made to smart contracts on Ethereum? are there other DLTs out there that support contract amendments?

You can create contracts that are updatable, but you'll put the value of DLT at risk - trustlessness. then, complexity creep comes into play which is especially dangerous with solidity programming - look at the parity hack, DAO hack.

Programming in decentralized DLT is to be treated as a space mission launch. Can't start from the beggining at will.

Learn Go (or javascript/php, depending on what you want to work on) and become a contractor for Decred. They're always looking for new devs. Find something on the github that needs to be done, do it, then if it's good they'll most likely hire you. Simple. They have like $20 million in the dev fund and growing, so unlikely they'll run out of money. It's not a hype project so they'll be around for a long time.
blog.decred.org/2017/07/25/Decred-Recruiting/
blog.decred.org/2018/02/28/2018-Decred-Roadmap/

this is all very interesting but i'm used to bashing up shit how do i stop

interesting, thank you

More general question, what level of proficiency do i need to contribute to protocols like Monero for example? tfw never made anything useful but know my DS and Alg pretty well

YES DO IT OP
LONDON LOTSA ETH JOB
GET DOWN HERE NOW

don't be a brainlet

But if records of all the updates are on-chain, I still don't see how trustlessness has been compromised. Actually, I can see 1-2 ways re: race conditions (eg executing the contract at the same time it's being updated) but I would also imagine that we can put additional trustless mechanisms in place to prevent such situations from causing actual errors (the user might have update rejected, but everything still in sync among node operators)

Have good system/feature design specs
Use a linter
Write tests
Check everything in a CI job
Don't ever deploy anything that has not undergone a through code review from multiple key members of your team
Don't write that one hack you know no one but you will ever have to look at or deal with

You have to put the contract update logic directly in the contract.

the easiest way to have an intermediary contract that would hold addresses to a workhorse contract. if you'd wish to update, you'd change the address at the intermediary contract and any calls would get routed there. that would make you lose data on that contract, unless you'd have a separate data holding contract, or kept data in the intermediary.

You can also play with external function pointers - but this is rare because complexity is a big NONO in solidity.

I've got a job offer from a startup. they offer 2% of ICO and 2% of tokens emitted. Do you think it's fair?

The ICO is industry specific and I don't believe it will go very far.

You've actually got it backwards.

It's a huge red flag on everything else that people are trusting everything to garbage code. And it is garbage - even great coders end up under too much time pressure to ALWAYS do things the right way.

It's a red flag that your first reaction is "But of course I'm going to produce untested crap, why can't I patch it after go live?"

Up to you OP. Keep churning out leaky Java apps or Wordpress plugins or whatever your current job is if you like - or get on the train for the next great software bonanza.

oh

what team

im not a neet but i was thinking of a retarded button for retarded people

Hmm, I guess I'll have to read more on Solidity and how contracts are created and processed. Conceptually though, there should be no reason that an involved party CAN'T make any amendments after the contract has been deployed - there are a myriad of real world examples where not all of the necessary information is available from the start (eg in business processes where the result of one action is used as input to another).

So at least for widespread adoption, ability to issue amendments to contracts will be important (or some degree of interoperability, as you suggest with a hub/workhorse contract to manage subcontracts)

And OP - this is correct, but how many extra moving parts has this now introduced? You're going to hit a bit of a regression problem - those extra contracts to abstract things out can also fail. So one way or another - you need to learn to be rigorous. And if your employer wants to do this like a traditional shitty CRUD app walk away now.

All I want to make is the dream game that I'd love to play myself. And I will make it. Watch me.

That is indeed a red flag, but even really solid teams will occasionally push some shit to production. Some ridiculously obscure edge case was not covered. This type of thing WILL HAPPEN, and devs need to have the necessary tools to fix it when it does (although in the case of a bad contract actually executing, some sunk cost will be unavoidable)

In that case you can replace the code review with Math.random() < 0.5 and merge to master if true

Ok, if you don't understand WHY we're saying it's immutable (or need really smart ways to handle updates), you haven't understood the nature of the platform.

Again, this isn't shitty fly by night coding with some marketing fuckwits napkin scribblings. If you haven't defined every detail of your business requirements, you haven't got a project yet.

That's what I'm saying - we need SMART WAYS YO HANDLE UPDATES. Obviously we can't go back and rewrite history, but we can add a new record that describes what about the system has changed. This is a super basic concept of event sourcing, which is pretty much the essential design pattern of DLT. All I'm saying is the system should remain dynamic rather than being fixed at the time of creation (in the sense that we add new information, rather than changing what is already there)

When avionics software is designed, they follow incredibly rigorous process. Yet, they still manage to produce aircraft don't they?

No. If you were a builder, and the house you built fell down and crushed the occupants, nobody would find "Oh well, mistakes happen" acceptable. We've had a shitty attitude as coders for too long - mainly due to business having nearly 0 comprehension of anything we do and giving out stupid deadlines. No more!

Are you fucking stupid?

This. The entire point of smart contracts is that they can't be changed, which makes them trustless. If someone can just change a smart contract, it isn't decentralized.
...

It sounds like we are in agreement. When all the houses in a neighborhood start falling down, or the brakes on a million cars stop working, the builders fix what they broke. Not in the sense of rewriting history, but adding to what they've already done to make it right.

Again, this isn't just junior devs and incompetent managers forcing a shitty implementation. Rock solid teams make mistakes surprisingly often

You're STILL missing the point.

One of the main reasons to use a Blockchain in the first place IS immutability.

Example: I like throwing spare Ether into random crappy games for the lols. But I can check the source first and KNOW if it's an exist scam or not, or if it's vulnerable or not. So yeah - maybe there's a variable or two that can be tweaked. Any more than that, I'm out.

It's trustless and immutable nature IS the feature. If you want some record keeping system where a single owner can make arbitrary changes, just use a database.

When there is consensus that a smart contract should be changed, yeah, it absolutely can. That said, it won't work if 1 guy can log in and decide to wants to receive money instead of pay it

trust me it's gonna be sensational

All the houses in the area fall down, the builders go to jail. Only in software is failure to deliver a good quality product some sort of point of pride.

I've started to learn solidity (ETH smart contract language).

Its a lot like javascript, which I dont know, so I'm finding progress quite hard.

Making simple dapps is easy, though making them foolproof (You cant edit them when they've been deployed) is quite tough.

SC are going to fuck so many industries so I'd get on it ASAP. More so as the crypto space develops and oracle data / fiat pairings exist.

Blockchain is still very useful for record keeping, even if they the records describe state changes. Consensus and decentralization are important in any case. I guess what we are getting at is that a significant number of changes might as well constitutes a fork, in which case you would be in the right to disagree and want out. What I'm saying is that that would happen at the consensus step, and once there is a consensus, we can make the changes we want any everyone will be happy

>oracle data / fiat pairings
Wow. Now there’s an interesting idea. Never thought about that before

Good thread, is there a good Solidity for dummies book or something?

Also, what about Viper? Should I start trying to learn that instead and forget about solidity?

lol, what about the wall street bailout? all the chads and finance bros are still service hard time right?

What are the required creds for ETH job? I'm in the area, I'm a statistician looking to make the plunge into blockchain.

considering iOlite is building a way to translate coding or spoken languages into Solidity, it may be beneficial to pick up a language that translates well

Attached: iolite_infographic_seconddraft.jpg (612x792, 208K)

Well yes, due to (((reasons))), wall street scum get off from their crimes fairly scot free. But I'm talking about producing good quality products and taking pride in your work. That members of a politically connected criminal class get away with shit is NOT a license for you to do the same.

But, if that's where your sense if value lies, I've got nothing more to say to you anyway.

Yea, doing a small Solidity project here.

Very opening to see how many repos out there are such shit code and horribly unsecure.

Honestly I've spent maybe a week learning solidity and I've already seen the value that oracles will provide.

Crypto derivatives via SC are just round the corner, though there's no difference between a crypto-asset derivative SC and a normal asset derivative SC. Expect ETH futures very soon, especially as SC become more mainstream and the vol on ETH poses a business risk. ETH future + RW asset future vs ETH is a trustless RW asset vs fiat future. Big dogs will take note, especially if it saves them anywhere from 10-200bps.

I can't speak for VIPER and I have no idea where to learn solidity other than the very basic tutorials I've been following online. Regardless, I'd love some kind of discord group or similar if a bunch of bizanons are learning this shit.

What about using Python to write dApps for NEO? Does everyone think that eth is king for SC?

Is this legit or pajeet?

Seconding this, would love a SC/dApp newbie dev group of bizraelies

Considering I run their marketing and exclude India on our targeting, you tell me Rajesh ;)

Node.js is such an amazing language that I fap to Node.js porn every night

safaribooksonline.com/library/view/building-blockchain-projects/9781787122147/

this book is terse and full of information but is hard to follow. still good

thanks for clarifying how pajeet this shit is

Solidity dev in ICO company here.

Go for it OP, blockchain devs can land amazing jobs in startups - also higher chance of getting a remote job.

Programming in Sol is not that hard, just a different paradigm. Requires solid understanding of how blockchains and Ethereum works - I recomment the cryptocurrency course in coursera as a starter.

It's not just wall street. How often do people get locked up for a mistake they made on the job? More often then not, they are tasked with fixing the fucking thing instead. Think car recalls, buggy software updates, or just things that went unexpectedly (eg recent Instagram integration w/ Giphy - check it out, you will lol). In all of these cases, the solution is to fix what is broken. That is what I'm saying devs need to be able to do (in a verifiable, trustless way) with faulty smart contacts. If your perspective is that everything is immutable ("tamper-proof" is actually more accurate), then there should be a simple way to clone the contract and amend only the problematic terms

DAPPs are without a doubt the future. All the regular desktop apps you're using will be soon a network of interconnected DAPPs. We're entering the era of glorious collectivism, so it's better to jump on the train while it's not too late.

Is the good dev tooling for Solidity? IDE plugins, code linting, ... Very interested in learning - I come from Node.js land, where there is already a library for every unique idea you've ever thought of

just passing through, but I have these bookmarked, still need to read:
blog.ycombinator.com/building-for-the-blockchain/
happyfuncorp.com/whitepapers/webthereum

I personally use the excellent online IDE remix.ethereum.org/

There is also a solidity plugin for visual studio code.

For node.js there is truffle framework, very popular. Ethereum has the most developed tooling of all blockchain stacks - just dive in and you will be surprised with how many options there are.

When you have a problem just communicate with Ethereum devs on their gitter and they will 100% respond with your problems.

enjoy your shitconnect idiot, lol

Yes it totally makes sense to decentralize minesweeper.

when a medical person makes a mistake, people die. There's no returning to the state that the person is still alive.

this is metaphorically identical with smart contracts.

If you can't take this, stay out of ethereum programming. with a mindset like that you'll do another parity multi-sig wallet.

As someone who hasn't done any coding for about 15 years, and everything I once knew has changed beyond recognition, I'm finding it quite hard to get my head around solidity. There don't seem to be any actual beginners' guides to it, just in-at-the-deep end "documentation" style info.

fukked

Somewhat misleading, because in the vast majority of cases, mistakes can be corrected without fucking up the whole system (killing a patient). It sounds like this idea is not even recognized as it applies to blockchain, which is alarming. You can have a fully event-sourced system (that is actually a big part of what a blockchain is) that allows for corrections such that nothing unintended gets written to the chain

mind posting this architectural pattern?

martinfowler.com/eaaDev/EventSourcing.html
youtu.be/JHGkaShoyNs

If you have time & are not an idiot, highly suggest the YouTube video. Basic idea is instead of CRUD, you just always append indisputable facts about what happened to your database, even if the change was through an update or delete statement. You can never update/delete an event, only create. To get your system state, you just replay over the events and spit out the final state after applying each event on top of the initial state

In this sense, blockchains are event source systems. What makes them interesting is that they are highly distributed, which helps to enforce the immutability of events (transactions, or blocks)

thank you for the link, but I know what event sourcing is. would you be so kind at pointing where this pattern allows for the thing you mention?

event sourcing architecture sometimes run on WORM (write-once read-multiple) drives. how one would incorporate erasing "mistakes" from there?

Add a new event that says what was wrong before. Then the resulting aggregate will still contain the original information, but also have updated information so it can function properly

ethereum can do that with ease.

I'm this user, Could you elaborate on what you meant by oracle data/fiat pairings. I'm still trying to grok how that will work.

Specifically wondering how I could benefit from that personally, by figuring out what kind of data I could "sell" right now (or at least in the near future). Who does the money go to when someone pays for a stream of API data anyway? (guessing this is pretty much gonna end up being a chainlink shill)

I had a feeling. Then why is everyone pissing a shit about smart contracts being immutable? Everything on the blockchain is immutable, that doesn't mean we can't make changes in the form of logged commands. You're not rewriting history when you do this, you're adding to it

ya you are basically describing chainlink

become a Oracle and you will know the truth

this is now a LINK thread

LINK $1000 EOY

Attached: linkeoy.jpg (640x778, 50K)

where are you located? I'm looking for a programmer

that amount of equity is absolutely trash and you should not take that offer seriously

Warsaw, poland

I'll have that in mind, thank you

[email protected]

do i need to learn the basics first like python/java/c+ before entering to solidity/node.js etc. if i want to work and code blockchain ralated stuff, or i can just jump into solidity/node.js etc.?
t. noob

Attached: uylYoy0GCRw.jpg (664x405, 27K)

great thread OP

Chainlink produce really reliable oracles and "off the shelf" oracles, but I was moreso talking about the wealth of options that greater amounts of oracles will ensure.

Right now if I wanted to program a smart contract for hedging interest rates, I'd have to make my own oracle. When I could just borrow someone else's data, I can create the contract and make it use that data. This will be much quicker than trying to make my own oracle.

Fiat pairings will work with derivatives to ensure your smart contracts can take and payout in fiat. Right now I can make a contract that pays out ETH, but Bank A or business B won't want ETH, they'll want USD. Fiat pairings and ETH futures will allow this to happen.

help pls

Attached: 14086058931910.jpg (640x480, 50K)

the reason is that no one will trust or use a contract that can just be altered at any time

LINKies are pathetic

but they will trust it if they are a direct participant in the consensus step required to enforce a change, which, even if that is not available today right now, eventually it will be because enough people will ask for it, and someone will want it enough to go and build it

Anybody going to write smart contracts on EOS when they launch their platform? Should be much faster than ETH plus they’re semi-mutable and written in C++

the ethereum blockchain is a registry of states and transitions between those states. You can recreate the state at any point in time.

New cool shit from Bitfinex:
youtube.com/watch?v=Qlm4OXxmIjI

Attached: Screenshot_20180311_221323.png (2544x1436, 1.97M)

>thinking smart contract speed is a bottleneck

kek

Anyone has good learning material on hyperledger?