DevPortal Update 5: Jussi, SteemConnect, Improved Structure, and Recipes

in #devportal7 years ago

Previously, in Dev Portal Update #4, we expanded the JavaScript tutorials, added Contribution Guidelines, fixed a few bugs, and expanded on the API Definitions to include Broadcast Operations.

Since the last update, there have been additions to the Services section to include Jussi setup, overall improvements to the document structure, and the addition of a new type of tutorial we call "Recipes."

Jussi

You might not be aware of Jussi, but it is a critical piece of software (a “reverse proxy”) that allows you to access steemit.com. It's a really important component for keeping the quality of Steem-related services high. It's also especially useful for developers and node operators.

To demystify Jussi for the technical folk, we added an explanation on how to get it up and running: Services :: Jussi

In addition, since Jussi is becoming a recommended part of any Steem stack, Steemworks is crafting a command line rake tool (Managing API Definitions) to help explore the status of the API running on a Jussi instance. It’s command-line only, still in an alpha state, and points at https://api.steemit.com by default, but it provides useful information.

Community Contributions

We’ve added community libraries to the resources section for SteemConnect: Community :: SteemConnect. Note: We recommend you vet these libraries thoroughly before use.

Improved Structure

We noticed a lack of uniformity in some of our tutorials that could make it difficult for developers to absorb the important parts of a tutorial. We want our dev portal to be the easiest and fastest way for developers to learn how to program on Steem, so to solve this problem, we developed a loose standard for writing tutorials. There's a guideline—a statement of purpose—for each tutorial, so that they have a more uniform appearance. As our understanding of what “makes a good tutorial” evolves, you can expect both new and existing tutorials to continue to improve.

You can look at the current guide here: Tutorial & Recipe Structure

These are the articles that implement the new structure:

Recipes

We’re also working on something called “recipes.” To understand the value of these recipes, let’s briefly detour into the kind of recipes you are already familiar with. In the real world (away from the keyboard), recipes do more than simply make it easier to cook up your favorite dish. They also help you plan your grocery trip or even condense what would have been multiple shopping trips into just one.

Recipes are a series of instructions that enable you to efficiently accomplish your objective. Sometimes you just want to understand how things should be put together without personally putting on the chef's hat and slicing the garlic. Other times, you just want to know what's involved before committing to a particular task. That's what we're attempting to accomplish with recipes in the Dev Portal, and recipes will be more general (in contrast to the language-specific tutorials) so that developers proficient in any particular language will benefit from reading them. We outline the concepts so that you can fill in the details.

Here are the very first recipes, let us know what you think!


We at the Steemworks team are doing our very best to improve developers.steem.io as rapidly as possible, and we hope these updates help you write great software on the blockchain of opportunity. Your feedback is always welcome, both directly on github as well as by email to Steemit’s Developer Advocate at [email protected], with the subject line “devportal - $subject”.

Steemworks Team

Sort:  

I'm not a developer, but this sounds great. I am really appreciating the improved communication, even when I don't know what exactly what you are talking about.

Glad to hear it!

Pre-heat your RPC node to 97 C until you hear a faint sizzle. Be sure to store the jussi liquids for gravy later.

This is good work. though i do not understand what this all means, i am glad that information is flowing and we are getting access to what is going on behind the scenes. thank you very much. #steemitrocks!

It is good to see that Steemit is continuing to be developed. If any platform stands still it dies so these incremental improvements are critical to the longevity of this project.

It's good that these updates are communicated to users in this was for effective feedback. Meanwhile, I hope the feedbacks will be well considered.

I must say that these days what crosses my mind are some ideas of doing some small applications connecting to STEEMIT. I want to start with some easy, I've browsed through the recipes available, those are a good start but I think that we jump into action right away.
I would approach this a little bit lighter for the non knowledgeable out there and just present a web implementation, a very simple one: for example INPUT my account name and GET if I am a MINNOW, DOLPHIN, WHALE etc. Having this is more encourage for the non experience out there and turn the "developing" aspects in something more playful like a game or just for to work on.

This is a welcome move. There are lots of tutorials already on the steem blockchain and would be great if the community is actively engaged in coming up with various recipes.

@utopian-io already has a lot of tutorials which can be repurposed to recipes I guess.

Also it would be interesting if some @steemgigs are created for these so that developers can work on the recipes that the dev team deems fit.

I wish I had more time to get into Steem development. It's getting pretty exciting and it's great to see all the new apps appearing. Good documentation is vital for this. Keep it up

I still have no idea what the general concepts of jussi and sbds are.

SBDS: sbds is a tool for easily querying the data of the Steem Blockchain.

Ok, sounds cool but...

Jussi: A reverse proxy that forwards json-rpc requests.

Ehhhmmm... ok.

Some day... I will understand.

You can think of JSON (JavaScript Object Notation) as a document that contains structured data. RPC (Remote Procedure Call), is a way to execute commands on another computer. Put them together, you have a way to communicate requests to execute methods and get back a structured response.

Jussi is a reverse proxy that acts as a caching front end. It forwards the requests sent to it to the proper channel, such as a full RPC node or the SBDS client you mention. SBDS is the blockchain parsed into a local database for faster querying.

Having a caching layer in front of the DB means repetitive requests for the same information do not hit the DB multiple times. The first request returns a result and stores the request/result pair in memory (Redis). Any subsequent requests for the same information return faster because the data is prepped in memory and does not have to be searched thru the DB.

This means the DB can serve other requests faster and requires less resource demand.

Essentially, Jussi is just an NGINX reverse proxy that uses REDIS to cache requests in front of a DATABASE (SBDS / Steemd RPC)

Congrats, you made the #steemitminute for today!

Click the Image Below to see the Video!