steemit / devportal Goto Github PK
View Code? Open in Web Editor NEWSteem Platform Developer Documentation.
Home Page: https://developers.steem.io
License: MIT License
Steem Platform Developer Documentation.
Home Page: https://developers.steem.io
License: MIT License
It appears to be controlled by adjust.js
. It works as expected on legacy getting started, but I can't get it to work right elsewhere.
Steps to recreate:
Add a section to the right_code
header item, e.g.:
<p class="right-section-title">Example</p>
```javascript
const { Client } = require('dsteem');
```
Add a section to the main part of the document, e.g.:
### Example
Here is my example paragraph.
See if the left and right sections automatically adjust so that the code example is next to the paragraph about it.
It also appears that the left header cannot contain spaces, even though the right header does (it automatically replaces spaces in the id with dash).
AC
AC:
AC
The build process for the site should pull in the python documentation from the steem-python repo, and process it into whatever format it needs to be in for display inline on the devportal.
We need a consistent pattern for all developer portal tutorials so users know how to orient themselves when entering a new tutorial.
There have been two new RPC nodes added by members of the community:
@steemgigs added: steemd.steemgigs.org
@ausbitbank added: rpc.steemviz.com
We have a few small issues with duplicates in glossary items. One, is an exact duplicate as mentioned by a community member in pull #88. But also, there are less obvious duplicates, so here's all of them:
steem
as "Steem" and "STEEM"node
straight up duplicatetransaction
as listed in Chain Basics and Transactions sectionsAs we expand the glossary, we need a strategy for dealing with these kinds of duplicates. Obviously, if it's truly redundant (like node
), don't do it.
But The "Steem" vs "STEEM" is warranted. We do make a distinction between them. Unfortunately, the way DOM IDs are created in the document, they both become id="steem"
so anchors get messed up.
Then we have logical reasons to list a definition twice, as in transaction
. A transaction has a basic meaning as well as a specific meaning in the Glossary.
We could just add parentheticals to items that collide. E.g.:
AC
steem
npm package which I think should be replaced with @steemit/steem-js
Document all Appbase API methods.
A quickref was created - though this should not be considered authoritative, all methods described should be validated for correctness: https://steemit.com/appbase/@holger80/api-methods-list-for-appbase
AC
database_api
, block_api
)<api prefix>.<api method>
It is possible for developers to write an application that connects to a locally run Vessel instance to submit transactions that require signing with keys. This would be good to include documentation for.
from Public Nodes, or self build?
Document how to create Testnet instance of Steem for advanced users...
AC
There are couple other tools helping developers to sync blockchain to mongodb, might be appropriate in https://developers.steem.io/#community-steemdata
eSync (nodejs): https://github.com/esteemapp/esync
ChainSync (python): https://github.com/aaroncox/chainsync
as a developer, i found it hard to figure out which methods do what -- currently the descriptions are like "Get Discussions By Author Before Date" -> getDiscussionsByAuthorBeforeDate -- not very helpful ;)
also it'd be useful to have types & descriptions for method arguments.
The testnet is up. Evaluate the resources contained in https://github.com/steemit/steempunks/issues/274 and create a set of stories for putting testnet documentation into the developer portal.
Notes
Guidelines for stories. General testnet documentation should be language agnostic where possible.
AC
The memory requirements for steemd nodes is out of date in the below text. The wording is also a little confusing - what is "ca", why end with :
Dockerized p2p Node
To run a p2p node (ca. 2GB of memory is required at the moment):
Dockerized Full Node
to run a node with all the data (e.g. for supporting a content website) that uses ca. 14GB of memory and growing:
Steemit has a new Developer Advocate. The community should be able to contact hrm.
I don't know if this is covered in any of the other planned issues, but it would be good to have info on how to add "Pay with STEEM" options to a website
So from the documentation, it seems we have to make an HTML file and call a JS file to query that HTML page and send post data that way. This is incredibly strange to me. Is this kind of practice common? Why not just use standard JSON calls and endpoints like every other API? Does the fact that the API is based on blockchain make this difficult?
We need to document the condenser api
AC
The appbase api call and response definitions are already in the codebase. Make a menu item for them, and make sure they still work correctly
AC
We need to keep the main page 'lite', with details primarily of resources most people are going to use.
The testnet documentation needs to be on its own page.
Consider incorporating the documentation with the page created in #73
AC
/testnet
At https://developers.steem.io/tutorials-javascript/steem_js
There is a link to "snapsteem". The site is defunct. Remove, or remove and replace, the reference.
AC
Our tutorials need to level set expectations for the developer's environment. We could call it "application environment guidelines" or some such. It should go at the top of the tutorials section, and be hash linkable.
Use results from #39
AC
We currently have jekyll-rouge up and running in our codebase. It's good for highlighting, but it doesn't guarantee consistent indentation and code formatting. We need to include a library that does that a-la prettier
AC
The Javascript section of the main page on the developer portal is confusing and not up to current standards, it needs to be moved to its own page, and de-emphasized.
AC
Our tutorials use currently use dsteem, which is significantly faster on the client, is better documented, and has a strong path forward. If you prefer to use `steem-js` you can find our legacy getting started section [here](url to location)
Use branch 231-tutorials
for commits
Links to devportal-tutorials-js
AC
To familiarize myself with the tutorials writing process, I've added some initial ruby
tutorials.
AC
.rb
files.Need a section that lists any possible third-party tools that might have popped up like a steemdb or steemd versions pointing at a testnet, list them in a table.
AC
AC
**Steem**
.The Javascript tutorials page should outline the dev environment, and base set of skills a developer need to have to get the most out of the tutorials.
Notes
AC
Add contributors section to Devportal to explain best practices and how to contribute tutorials and information to the Devportal.
AC
AC
https://github.com/steemit/devportal/edit/master/_python/getting_started.md
Install with python-steem:
$ sudo apt-get install libffi-dev libssl-dev python-dev
$ python-steem3 install steem
I think this should be
Install with pip:
$ sudo apt-get install libffi-dev libssl-dev python-dev python3-pip
$ pip3 install steem
Since we don't have any python tutorials yet, we need to remove that link.
AC
Production environment has bad resource and left nav urls, even though they work in dev.
AC
All API docs should be autogenerated, we can use a tool like sphinx for the python code to generate documentation from docstrings automatically and then convert it to markdown using pandoc or similar.
I'd be happy to put together a script to do this conversion for the python codebase, i'm not familiar with similar tools for the javascript codebase though.
Longer term we probably want automatic documentation for the JSON-RPC API in steemd too - i'd be amazed if tools don't exist for doing this from a schema.
We want to have a clear set of expectations when writing Javascript tutorials for developers. We want to define how good they must be, so that we don't over-explain. We want to define what tools they have available if they're writing a Node.js app, and what tools if they're writing a Client-side only app.
If they're writing an app using both client & server side code, the tools should be a union of the Client/Server sets.
Notes and debate can/should be taken on this issue.
Use current best practice.
No minimum use of 3rd party codebases, NO heavy UI frameworks, except vanillaJS which is permitted (see http://vanilla-js.com/)
AC
Original Story:
@Kennybll recently created this blog post which would probably be a good addition to the dev portal:
https://steemit.com/steem/@kennybll/steem-code-deep-dive-config
Re-storied by @inertia186:
As an API client developer, I would like to know what all of the results of get_config
means, so that I can utilize them to generalize my client.
Many of these values would be handy for API clients. If an API client accepts a URL to a node, one of the first things the client can do is interogate the node with get_config
to find out basic things like address prefix, symbols (WIP), and type of blockchain (testnet/maintet).
The original story talked about a deep dive into the config header. But all of those values are hard to find for non-c++ developers. And they're all present in the get_config
results, e.g.:
curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_config", "params":[], "id":1}' https://api.steemit.com | jq
Not only that, but they're properly named in the method results with STEEM_
as the prefix instead of STEEMIT_
.
AC
get_config
.Use neat_json
on API Definitions.
AC
jsonify
to neat_json
Tutorials derived from output of #40
A snippet from the raison de être parts of each tutorial, with and explanation.
This content should probably be cloned from a .md
file in the tutorial itself.
AC
JS-T:
The Liquid json formatter leaves much to be desired. There doesn't appear to be a "pretty" option.
We want a colorized, well-formatted pretty print option that does not rely on .yml or .md formatting
Notes
highlighter rouge
. A search for highlighter rouge jekyll
may yield information (speculation: could be as simple as css formatting once use with .yml is figured out)AC
Use branch 231-tutorials
for commits
Links to devportal-tutorials-js
AC
API Definitions do not need the "right_code" section, so it should be dropped.
AC
row
instead of doc-content.left-docs
Write a rake task that will compare what we have in _data/apidefinitions
and add anything that's missing. E.g. we should be able to use a command like:
rake scrape:api_defs
... which will check the existing definitions and add new ones.
AC
description
purpose
Since we have restructured the tutorials the previous javascript and python tutorials are now obsolete.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.