bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 648 forks source link

Toolkit for developer onboarding ( meta ticket ) #1773

Open manikey123 opened 5 years ago

manikey123 commented 5 years ago

User Story Please tell us about your feature request using the User Story format: As a new dApp developer (Python or JavaScript) I want example boilerplate scenarios with documentation so that I may quickly understand how the BitShares operations and APIs may be used to build hello world and financial services solutions on the platform.

Impacts Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.

Additional Context (optional) Additional sub-task Issues will be created later to address the points below. Also note that this effort is not exclusively “Core Team” and sub-tasks make link to other BitShares repos.

Design and Features Integration Plan:

  1. Build User Interface along with bitsharesJS for easy to use boilerplate a. Come out with architecture plan b. Provide wireframe mockup based on architecture
  2. Subsequent building on pybitshares ( details to be added after point1 completes)
  3. Build features similar to eos (eostoolkit.io) and telos (https://portal.telosgermany.io/home) a. Governance (voting) b. Transfer Token c. Multi sig d. Dapps section
  4. Explore existing APIs that may need to be configured for above tasks
  5. Integrate Spotlight features and make developer friendly: a. Integrate Beet b. Integrate HTLC c. Integrate Barter d. Integrate Collaterized Debt position e. Integrate direct debit f. Explorer - Searching functionality (needs to be revised and revisited )
  6. Analytics & Dashboarding Page (through Elastic Search) (needs to be revised and revisited ) a. Node related b. Dapp related https://dappradar.com c. User related

Benefits:

  1. Onboard new dapp developers
  2. Increase dapp count. Example other block chains have https://dappradar.com
  3. Help create new market place for creating and using UIA (User Issued Assets)
  4. Above will help increase bitshares utility, volume, transactions, locking token in apps ( as observed for other block-chain eos - https://dappradar.com/rankings/protocol/eos)
  5. Expose easy to use spotlight features like Barter to help application development
  6. Beet integration with boilerplate to avoid cloud wallet password and directly use Beet (eostoolkit.io reference)

CORE TEAM TASK LIST

pmconrad commented 5 years ago

Good idea, but doesn't really belong in core IMO. Examples for how to use APIs like bitshares-js, beet or pybitshares belong in their respective repos.

A "full stack" example with a beet+js frontend and a pybitshares backend might be something for dev.bitshares.works . What do you think @cedar-book ?

abitmore commented 5 years ago

Pinging @ryanRfox @clockworkgr @sschiessl-bcp. Thoughts please?

sschiessl-bcp commented 5 years ago

I totally agreed, information is too scattered. I did start to work on that from JS end, but it's not "public" knowledge which it should be

Generic JS Boilerplate:

Direct Debit Feature:

Transfer Feature:

cedar-book commented 5 years ago

@pmconrad, I agree to present those information/examples better ways. Let's look in to find better presentation manners and provide them to developers.

manikey123 commented 5 years ago

another idea is to add browser sandbox for the new developers to try some basic stuff to become familiar. We can establish python driven notebook Exercises wherein developers can run code slices online and hence be attracted to use and build on bitshares. Based on research such an idea is already implemented for bitcoin by jimmy song for blockstream API. In below workbook, a potential developer can run exercise 3 and exercise 4 independently https://github.com/manikey123/programmingbitcoin/blob/master/code-ch07/Chapter7.ipynb

step1 : NBviewer: https://nbviewer.jupyter.org/github/manikey123/programmingbitcoin/blob/master/code-ch07/Chapter7.ipynb step2 : click on binder at right corner which after building helps to execute the code image

manikey123 commented 5 years ago

above can be extended to javascript