[STEEM DIP] Development Progress Report #1steemCreated with Sketch.

Hello Steemian, this is the @upvu.witness team. Over the past few weeks, our team has been quite busy with various development tasks. We've made a lot of progress, and we think it's time to share some of our progress with the community.

You can check out our past proposals and posts related to DIP development work through the links below.

Week No.ItemProgress
Week 1API Endpoint #1Local development environment setting, Condenser source analysis, Source modification and deploy test
Week 2API Endpoint #2Collect and organize all available API Endpoint data, Analysis of selectable options related to API list management method, API list operation test
Week 3API Endpoint #3Valid RPC Node List-up, steemit/steemitwallet front-end UI update, PR completed
Week 4Loading CommentsCondenser source analysis, Source modification and deploy test, Loading Comments UI update and testing in progress

1. Select API List management method

A. How to manage the API List
At first, we thought that the best way to manage the API List would be to use the Steemit Team (foundation) DB, but we received an answer that sharing was not possible for security reasons. So we had two options to choose from:

  • Manage with own DB (Cloud DB managed by our team)
  • Recording in the default.json file of the Condenser source (github))

We analyzed the pros and cons of the two available options as follows.

① Managing with own DB

  • PROS: Very easy to manage RPC Node List (can be reflected immediately when adding or deleting to DB)
  • CONS: If a problem occurs in the Cloud DB, a problem may occur in the condenser (unlikely, but it can occur)

② Recording in the default.json file of the Condenser source

  • PROS: Anyone can view, and as an open source, anyone can update the list with a PR
  • CONS: In order to be reflected in the Condenser, the Foundation (Steemit Team) needs to deploy

We put a lot of thought into the pros and cons of the two available options. In the end, we decided to manage it as a source (github) because distribution is cumbersome, but anyone can update it and there are few exceptions.

2. Valid RPC Node Testing

  • Over the past two weeks, we've been testing it by adding both our existing lists and additional lists we've acquired through comments.
  • Some API endpoints of the nodes in this list failed to fetch posts and comments.
  • First of all, Nodes with issues were removed from default.json, and only APIs that worked well without problems were added to the list.
  • Valid RPC Nodes added to the current basic list are as follows.

3. Frontend UI Update

We've updated the UI to view and select RPC Node Lists in the following locations:

steemit.com : https://steemit.com/@account/settings
steemitwallet.com : https://steemitwallet.com/@account/settings

As mentioned above, you can select the RPC Node list that is currently added by default, and the screen is implemented as follows.

4. Functional testing and error checking requests

All of the features described above have been completed as pull requests, and anyone can check them out at the source link below.

  • Github source link:

We would appreciate it if everyone, including community developers and the Witness team, would do functional testing and error checking.

Plan for the next

Our team started working on the next development item, "Loading Comments" feature implementation and "Templates & Drafts". The "Loading Comments" feature is expected to be available as a Pull Request next week.

Now we have the most important, but also the most difficult to implement and operate, development item: "Templates & Drafts", and we are working on it with developers outside the Steem ecosystem.

Stay tuned for our next development progress report.

Best Regards
UPVU witness team

Sort:  

Would you like to add https://api.pennsif.net to your list ?

I think this is the api problem(call bridge ...)

You can test like this.

curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_account_posts", "params":{"sort":"blog","account":"happyberrysboy","observer":"happyberrysboy"}, "id":1}' https://api.steemit.com

curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_account_posts", "params":{"sort":"blog","account":"happyberrysboy","observer":"happyberrysboy"}, "id":1}' https://api.pennsif.net

Perfect, thanks :)

Yes, your node( https://api.pennsif.net) exists in my original node list.
But your node does not work well for getting post/comments like under image.


Case of https://steemd.steemworld.org


There are no error in posting rpc node list.

I don't know why this situation.
Anybody who know about this problem, please tell me know.
Thanks.

Hi! I'm the @pennsif.witness Team Technical Lead.

Could you share the full call which is failing on api.pennsif.net?

Please refer to under my comment.

Thanks.

Thanks for this.

We will investigate.

Well done! I will test the new code in the next few days. This comment is already sent via your branch :-))

Thanks for the update, great job!

Great job! !thumbup

Hello @upvu.witness! You are excellent!


command: !thumbsup is powered by witness @justyy and his contributions are: https://steemyy.com
More commands are coming!

Have you thought about a WEb 3.0 or DeFi off ramp development for steam...
US users are losing trading platforms for steam...🙄

@happyberrysboy

I checked your code a little (first only the condenser).

I found a bug and have some suggestions on top of that :-)
In parallel, I would also comment this in your PR. I don't know whether I could commit to your PR, but I could commit the solution to your branch if you want.

Bug

The selection of a node is saved in localstorage but overwritten the next time the page is openend.
Row 96 in Main.js must be changed to:
if (!steemSelectedRpc) {

Suggestions:

I would suggest that when a node is selected, the label is also updated. For this, it would be better to save the selected node rpcNode in the state of the component, so that an update can be rendered automatically by React.

Furthermore, I would like to see an error message if the url of the selected node is invalid.

Hi @moecki ,

Oh my.. bug.. You're right. I missed that. Really thanks.

And updated all your comments.(git pushed)

Really thanks for your kindly review. 👍👍👍

I would have solved it almost exactly like this :-)


Credit: Bing Wallpapers


command: !bing is powered by witness @justyy and his contributions are: https://steemyy.com
More commands are coming!

Loading...

This post has been featured in the latest edition of Steem News...