EOS Developer Meta-Resource ListsteemCreated with Sketch.

in eos •  7 years ago  (edited)


EOS Developer Resource List


I wanted to dispel the rumors going around that EOS has bad documentation by providing a massive resource list that I have compiled. These links are some of the most helpful sites, presentations, articles, and tools that I have found on my EOS development journey. I have also been reading alot of complaints about Ethereum having more resources for available Solidity, so please keep in mind that the only reason Eth has so much more material available is because their dev community is currently bigger (and you're not counting all the available C/C++/WASM material). When EOS inevitably starts gaining momentum the same effect will occur, an influx of developers trying things and documenting their efforts. I will keep this post updated with a tail of new found resources, and have a few "getting started" videos on the way. So stay tuned, be sure to follow, and please post any additional resources you have in the comment section! It will help us all and I will be sure to upvote!

 

Image result for eos is the full stack


Best EOS Documentation/tutorials


In case you haven’t seen the EOS Github Wiki yet, it is definitely the best to get started. I have always used a 200 year old version control package (which I have shamefully grown to love) and thus am a github noob, so it took me a few days to stumble across it.

https://github.com/EOSIO/eos/wiki

*EOS REST API MetaList:

https://t1api.eos.io/v1/docs/#api-Account-GetAccount

Web Wallet:

https://t1wallet.eos.io/login

Dev Testnet Account Signup:

https://docs.google.com/forms/d/e/1FAIpQLSel3HVFb22zYaAJfUtu_IzFgIJ4OATb0jQ3H2FV-HbwnJ090g/viewform

Basic Github Tutorial:

https://github.com/EOSIO/eos/blob/master/README.md

More good EOSIO code Documentation:

https://eosio.github.io/eos/

https://eosio.github.io/eos/modules.html

@Dan Larimer's Material


Dan's Steemit accounts are filled with absolutely amazing articles on blockchain development, especially the ones written by him. I have left all my favorite links and articles by him below. Also, for the super go-getters, check out his Bitshares forum post history (last link in the section).

https://steemit.com/eos/@dan/does-freedom-require-radical-transparency-or-radical-privacy

https://steemit.com/eos/@dan/inter-blockchain-communication-via-merkle-proofs-with-eos-io

https://steemit.com/eos/@eosio/eos-io-dawn-2-0-released-and-development-update

https://steemit.com/eos/@dan/eos-example-exchange-contract-and-benefits-of-c

https://steemit.com/eos/@dantheman/web-assembly-on-eos-50-000-transfers-per-second

https://steemit.com/blockchain/@dantheman/blockchain-utxo-model-is-a-dead-end-for-general-purpose-applications

https://steemit.com/blockchain/@dantheman/blockchains-should-be-designed-like-massively-multiplayer-games

https://steemit.com/etheruem/@dantheman/blockchain-state-representation-should-be-abstract-and-not-part-of-consensus

https://steemit.com/@dan

https://steemit.com/@dantheman

https://www.youtube.com/watch?v=eftctVXiFJQ

https://www.youtube.com/watch?v=2cXC7YUm7Rk

https://bitsharestalk.org/index.php?action=profile;area=showposts;u=5

Debugging

If anyone is having trouble developing with a foreign library without a dedicated compile environment or are unfamiliar with C/C++, here are a few tips. The team points out their favorite method here, “Caveman” debugging. Coming from an embedded background, this is all we ever have to work with. So in case the concept is foreign to you, the basic idea is to make a simple debug macro, something like:

#def DEBUG_ON – toggle debug here, can also add as a flag in a make/header file

#ifdef DEBUG_ON

TRACE_IN MACROs – put the trace-ins at beginning of function calls, would looks something like printf("%d", __LINE__, __FILE__);

TRACE_OUT’s MACROs – basically same as trace in, end of function calls

#endif

These debug tactics in conjunction with your eclipse set up should put you in a very good dev environment. Another decent strategy is to wrap all your debug print’s in #ifdef’s, although it makes the code quite ugly. But it does allow you to toggle them on/off at will, and easily strip them out before production. Also, be sure to make use of asserts in failure cases!

Here is a decent reference to “line control.” I have not yet tried this in an EOS implementation, but I should get there in a week or so, so I will report back my findings:

https://gcc.gnu.org/onlinedocs/cpp/Line-Control.html


Web Assembly Intro

EOS has opted to use Web Assembly, which I am extremely excited about. The two videos below are a good introduction for the non-familiar. Keep in mind, that Web Assembly is currently running at around 70-80% native performance. I believe that it still has a way to go performance wise, until all that is left in its way is latency, a problem fiber and future WIFI technologies (bit transmission by lazer I hope) will help gap close. This means that as Web Assembly improves, EOS transaction capabilities improve with it. And the fact that it can compile C/C++ in the browser is AMAZING and goes without saying....  

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!