New AppBase (19.4) RPC node online for AppBase testing - appbasetest.timcliff.com

in #steem7 years ago (edited)

AppBase Testing

For the past few weeks, I have been testing the AppBase release candidate v0.19.4rc1. After working through some initial setup hurdles, I am happy to report that I have v0.19.4rc1 successfully running on one of my backup witness nodes.

AppBase RPC Node Needed

As I was testing the release candidate, I found out that the new version of the cli_wallet (19.4) is not compatible with RPC nodes that are not running the new steemd version. In addition to the cli_wallet being untestable without a 19.4 RPC node, there are a lot of changes in the 19.4 APIs that developers are going to want to test.

Based on this, I decided to launch a RPC server running AppBase 19.4. The URL of the node is: appbasetest.timcliff.com

Hardware Specs:

  • CPU: Intel 2x Xeon E5 2.3GHz
  • RAM: 256GB DDR4
  • Bandwidth: 500 Mbps, unlimited
  • Disk: 2x450GB SSD NVMe
  • Data Center Location: France

Please be aware of a few things regarding the server:

  • This is a production steemd node. Even though it is mainly intended for "testing" - anything you do here is being done on the "live" production blockchain.
  • The sever does do moderate rate-limiting to prevent excessive use from taking the node down.
  • This is not a "high availability" node. If it goes down, I will do my best to get it up as quickly as possible - but it may take a a few days or even up to a week, depending on what needs to be done to revive it.
  • I based the configuration of the node off the fullnode.opswhitelist.config.ini example in the steem GitHub repository. I assume that this has everything that is needed, since it was everything listed in the example config for a full node. The list of what is enabled is below. If there are any other plugins or whitelist operations you need me to add - let me know and I will do my best to get them turned on.
  • I plan to keep the server up to date with the latest AppBase release candidate / release versions published by Steemit, so if a new version is published - I will need to take it down to upgrade.
  • I have not decided if I plan to support this indefinitely. I plan to keep it up for at least the next 2-3 months as everyone is testing AppBase - since there is obviously a clear need for it right now. We'll see in a few months where to go from here.

Enabled plugins:

webserver
p2p
json_rpc
witness
account_by_key
tags
follow
market_history
account_history
database_api
account_by_key_api
network_broadcast_api
tags_api
follow_api
market_history_api
witness_api
condenser_api
account_history_api

account-history-whitelist-ops

transfer_operation
transfer_to_vesting_operation
withdraw_vesting_operation
interest_operation
transfer_to_savings_operation
transfer_from_savings_operation
cancel_transfer_from_savings_operation
escrow_transfer_operation
escrow_approve_operation
escrow_dispute_operation
escrow_release_operation
fill_convert_request_operation
fill_order_operation
claim_reward_balance_operation
author_reward_operation
curation_reward_operation
fill_vesting_withdraw_operation
fill_transfer_from_savings_operation
delegate_vesting_shares_operation
return_vesting_delegation_operation
comment_benefactor_reward_operation

Example use

I assume that most people already know how to connect to and use an RPC node, but here are a few examples to get you started in case you don't:

cli_wallet

cli_wallet -s wss://appbasetest.timcliff.com

CURL

curl https://appbasetest.timcliff.com --data '{"jsonrpc":"2.0","id":0,"method":"condenser_api.get_account_history","params":["timcliff", -1, 10]}'

Steem Developer Support

If you are interested in connecting with other developers that are working on Steem based applications, I suggest you join the SteemDevs Discord chat channel here.

Happy Testing!

Sort:  

First test against existing steem-python lib failed:)
I guess, back to the drawing board with steem-python..

It will probably need to be updated to use the new “condenser” API methods, as was described in the steemitblog post.

I assume that most people already know how to connect to and use an RPC node, but here are a few examples to get you started in case you don't:

Yea I am pretty new to this and so this would come in very handy. Will check it out .

After working through some initial setup hurdles, I am happy to report that I have v0.19.4rc1 successfully running on one of my backup witness nodes.

I might not really know much about this but I think this is good news as far as it benefits the community in one way of the other. Big ups to you @timcliff

I think your statement is not clear to all.

It is fairly technical in scope. If it doesn’t make sense, you can probably ignore the article. :)

Flagged for repeated abuse. More information HERE

Congrats on your success in running your backup witness node. Please extend this beyond 3 months. I beg of you. I know that you will consider this.

A lot can change in three months. By then there is a pretty good chance that there will be several other AppBase nodes up and running. We'll see what the need is when the time comes.

You already know too well as much as I know that this is the best. No other AppBase node will fit in and deliver exactly like this one. I agree that there are other creative people out there, but no other person can precisely think out and reproduce exactly the same thing as another. I trust that you will not let us down @timcliff atleast for the sake of our followership. Just sustain this please

Pls can you give a detailed explanation about what you are testing?? Sorry for such funny question though am not a developer like you
Plz make it easier to a layman understanding

I don't really have a lot of time to get into the details, and I don't think most people will really even understand what they mean. In a general sense, I have been running the AppBase version of code with different configurations and verifying that the nodes operate as expected.

Still not getting you...😄

Thank you @timcliff, it's really cool to have a public node for tests running on 19.4. I highly appreciate your work!

Just saw this in my feed - and I'd love to be able to make an intelligent comment, but this is pretty much where my understanding of the steem platform ends - at the technical stuff!

Still, I know yr one of the 'good guys' from yr various interviews and you've got our best interests at heart, and you actually 'work' - so cheers from all of us that aren't comfortable with 'writing on a command line' !

I might have to learn how to code/ set up a witness server - somehow I think it might be more 'steempowering' than sticking to economic and philosophical analysis!

I have just up-voted timcliff as a witness. I always vote for those who run public RPC nodes.

Thanks :)

Excellent tim! I would really love to see python-steem just work. Have you considered using a testnet chain for the rpc? The user @almost-digital has an rpc node and is running a testnet. It has 16GB of RAM! That's the testnet for you.

Not at this time. I think there is more value in having a RPC that is connected to the actual network. Steemit is working on a testnet though. Once that is up and running, there will likely be a need for interfaces.

See my blog on the testnet here:
https://condenser.steem.vc/@leprechaun

Get a free account without verification here:
https://test.steem.vc/

I want to give the users of my application a good experience. So, I wouldn't just plug this into a website under production. As you wrote, this node is for testing. So that's the use case of this RPC node.

Something like that lends itself better to use a testnet. I can create accounts at will on testnet, and send fake Steem dollars and fake Steem. I run a test webserver that is only for uses @almost-digital's blockchain and then I do a bunch of testing with that one before I upgrade the code on the production site.

Anyway, it is good thing to have this RPC node up now. So things do not break in production! Right now, python-steem is not appbase ready.

That’s pretty awesome! You seem to be pretty involved with development. What other projects are you working on? Are you in the SteemDevs discord group?

The only one I spend much time on is steemfiles.com. The site is for buying and selling digital goods (files). These could be e-books, music, videos, or software. The products are there but the demand is poor. Perhaps users who use Steemit are not the demographic that would normally pay for digital goods, as they grew-up always having bittorrent and getting all digital goods for free. Except for crypto-currencies of course.

So, I think I should try to allow prospective vendors still host their files for free but I want to link how much they vote for Steemfiles posts with how much they can upload. So, if someone up-votes Steemfiles a-lot, they get more capacity to host their e-books, or whatever.

I am unable to install Discord because of OS compatibility issues. The requirement is that I use an OS that uses 8-byte wide pointers at least in the Linux case, and I am a Linux user. Since the computer I have doesn't have 4GB of RAM it is a waste of memory to give every pointer 8-bytes. There is steemit.chat. I signed up to steemit.chat with my tablet, that's why I am 'lepechaun' instead of 'leprechaun' over there.

Hmm, does the browser version of discord work? I just login on my home PC using Chrome.

What? A browser version? Ok. I guess I'll be joining that group promptly. Thanks for the tip!

Thanks for your work .I am looking for this!

Wow.... Hope to have a perfect understanding of all these soon. Getting ready for my steem blockchain development.

I hope for that

Guess, Steemit has free AppBase and is prepared to check it on giant scale. These changes area unit 'under the hood' to create steemit easier to code for, and additionally quicker.

Such a wonderful project. You have done a great work. This project is really great, I like it.
I didn't know anything about 'AppBase (19.4) RPC node' , after reading your post , I have learned a lot about STEEMER.NET Project & its uses, new tools, newly added features. It will help lots of people. Thanks man for doing such a wonderful job, keep on enrich Steemit with your great work

After this release one should be able to edit posts even after the payout(7 days). Right?

I believe so. It is still something I have to confirm though.

In this comment, @vandeberg confirmed that the next release will contain this feature.

Now, after enabling content editing with enable_content_editing json will I be able to edit my posts older than 7 days by broadcasting the transaction to your node(appbasetest.timcliff.com)? Or do I have to wait till all the witnesses update their nodes to the new version?

It will need to be running on witness nodes. You will not need all witnesses to update though. As long as the transaction is processed by a witness that accepts it - it will make it in.

Thank you for clarifying.

I see that the witnesses are still running on 0.19.2(at least top 100). Any idea on when are witnesses planning to update to the latest version?

19.4 is still a release candidate (not an official release). It is unlikely that any of the witnesses will run the non-release version in production, so at least until the official release is made.

Thanks for the information sir.

Congratulations, for this wonderful success.