[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/biz/ - Business & Finance


View post   

File: 262 KB, 650x342, Decentralized-Applications-in-Blockchain.png [View same] [iqdb] [saucenao] [google]
8268049 No.8268049 [Reply] [Original]

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.

>> No.8268197

bump

>> No.8268492

>>8268049
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.

>> No.8268555

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.

>> No.8268560

>>8268492
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?

>> No.8268679

>>8268560
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.

>> No.8268698

>>8268049
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/
https://blog.decred.org/2018/02/28/2018-Decred-Roadmap/

>> No.8268743

>>8268555

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

>> No.8268749

>>8268698
interesting, thank you

>> No.8268759

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

>> No.8268803

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

>>8268743
don't be a brainlet

>> No.8268808

>>8268679
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)

>> No.8268865

>>8268743
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

>> No.8268899

>>8268808
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.

>> No.8268913

>>8268803
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.

>> No.8268973

>>8268560
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.

>> No.8269007

>>8268865

oh

what team

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

>> No.8269012

>>8268899
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)

>> No.8269024

>>8268899

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.

>> No.8269043

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

>> No.8269056

>>8268973
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)

>> No.8269080

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

>> No.8269085

>>8269012
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.

>> No.8269185

>>8269085
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)

>> No.8269186

>>8269056

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!

>> No.8269196

>>8269012
Are you fucking stupid?

>>8269085
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.
...

>> No.8269250

>>8269186
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

>> No.8269269

>>8269185

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.

>> No.8269279

>>8269196
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

>> No.8269300

>>8269080

trust me it's gonna be sensational

>> No.8269303

>>8269250

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.

>> No.8269311

>>8268049
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.

>> No.8269337

>>8269269
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

>> No.8269367

>>8269311
>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?

>> No.8269369

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

>> No.8269427

>>8268803

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

>> No.8269455
File: 208 KB, 612x792, iolite_infographic_seconddraft.jpg [View same] [iqdb] [saucenao] [google]
8269455

>>8268049

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

>> No.8269475

>>8269369
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.

>> No.8269532

>>8268049
Yea, doing a small Solidity project here.

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

>> No.8269533

>>8269367
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.

>> No.8269544

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

>> No.8269572

>>8269455

Is this legit or pajeet?

>> No.8269582

>>8269533

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

>> No.8269599

>>8269572

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

>> No.8269629

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

>> No.8269631

>>8269533
https://www.safaribooksonline.com/library/view/building-blockchain-projects/9781787122147/

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

>> No.8269674

>>8269599
thanks for clarifying how pajeet this shit is

>> No.8269730

>>8268049
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.

>> No.8269766

>>8269475
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

>> No.8269778

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.

>> No.8269802

>>8269730
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

>> No.8269828

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

>> No.8269918

>>8269802
I personally use the excellent online IDE https://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.

>> No.8270026

>>8269674

enjoy your shitconnect idiot, lol

>> No.8270090

>>8269778
Yes it totally makes sense to decentralize minesweeper.

>> No.8270145

>>8269766
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.

>> No.8270192

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

>> No.8270225

>>8270145
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

>> No.8270256

>>8270225
mind posting this architectural pattern?

>> No.8270361

>>8270256
https://martinfowler.com/eaaDev/EventSourcing.html
https://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

>> No.8270383

>>8270361
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)

>> No.8270399

>>8270361
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?

>> No.8270417

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

>> No.8270439

>>8270417
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

>> No.8270474

>>8270439
ethereum can do that with ease.

>> No.8270579

>>8269311
I'm this anon, >>8269367

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)

>> No.8270734

>>8270474
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

>> No.8270760

>>8270579
ya you are basically describing chainlink

become a Oracle and you will know the truth

>> No.8270866
File: 50 KB, 640x778, linkeoy.jpg [View same] [iqdb] [saucenao] [google]
8270866

this is now a LINK thread

LINK $1000 EOY

>> No.8271997

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

>> No.8272057

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

>> No.8272274

>>8271997
Warsaw, poland

>> No.8272305

>>8272057
I'll have that in mind, thank you

>> No.8272402

>>8271997
vupdoin0@chinamail.com

>> No.8272555
File: 27 KB, 664x405, uylYoy0GCRw.jpg [View same] [iqdb] [saucenao] [google]
8272555

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

>> No.8272585

>>8268049
great thread OP

>> No.8272734

>>8270579
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.

>> No.8273007
File: 50 KB, 640x480, 14086058931910.jpg [View same] [iqdb] [saucenao] [google]
8273007

>>8272555
help pls

>> No.8273191

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

>> No.8273222

>>8270866
LINKies are pathetic

>> No.8273501

>>8273191
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

>> No.8273634

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++

>> No.8273942

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

>> No.8274000
File: 1.97 MB, 2544x1436, Screenshot_20180311_221323.png [View same] [iqdb] [saucenao] [google]
8274000

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

>> No.8274015

>>8273634
>thinking smart contract speed is a bottleneck

kek

>> No.8274081

Anyone has good learning material on hyperledger?