Introducing the first ever public steem testnet!

in steemdev •  5 months ago

Greetings fellow Steemians! Today very I'm excited to announce STX, an alternative Steem blockchain with a modest pre-mine of 1,000,000,000 STEEM.

Features:

  • 1,000,000,000 STEEM pre-mined and controlled by yours truly.
  • Anyone can create a new account funded with 100 STEEM via a simple POST request. No verification required!
  • Ephemeral blockchain! No more high memory requirements to run a full node, all data is wiped every month (or so).
  • Never misses a block! With only one witness it has blazingly fast transaction times.

Join the revolution today! – testnet.steem.vc

testnet.png


Edit: Just to clarify, this is a tongue-in-cheek introduction of a developer tool, It's not a real steem blockchain! Its intended to be used for automated testing of apps and libraries.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  trending

The dev community needs this so much, excellent job.

I'd love to see this taken to the next step as well - let's get a couple people running testnet servers and APIs, set them up as witnesses, and actually use it for development on projects. It would take a bit more coordination, maybe a reset every X months instead of 1, but not too much of a hassle.

I would hook up a copy of steemdb as an explorer and plug my development version of chainBB into it. Would prevent me from having to spam the steem blockchain wth test data!

·

Thanks! That sounds great, let's do it! :)

·
·

Do you happen to have your modified testnet source up on github anywhere?

·
·
·

No, I can put it up tonight. But the patch is here in the comments if you scroll down a bit.

·
·

yeah, I've been also looking for a steem testnet as well. can't believe no one's put one up yet after all this time - I sort of just figured I wasn't looking in the right place! lol

kudos to you for taking the initiative on it!

ps. also really like your giant door-knocker! lol

·
·
·

Hehe thanks! Sorry I wasn't there to open, you should check back another time ;)

·

Very nice indeed! I assumed there already was a testnet, but i guess not haha. Maybe this will motivate me more to actually start developing something. Always have lots of ideas floating around in my head.

·

It's been a week, is it ready yet? :D

Have been considering some Steem app development and was totally thinking what a shame it would be to put test data in the live blockchain

I guess you need to configure everything in a slightly different way than mainnet. Could you share the sources of whole configuration?


Upvoted and Resteemed.

·

Thanks! Here's the patch:

diff --git a/libraries/app/application.cpp b/libraries/app/application.cpp
index b457f44a..caac3c8b 100644
--- a/libraries/app/application.cpp
+++ b/libraries/app/application.cpp
@@ -301,7 +301,7 @@ namespace detail {
             {
                try
                {
-                  _chain_db->open(_data_dir / "blockchain", _shared_dir, 0, _shared_file_size, chainbase::database::read_write );\
+                  _chain_db->open(_data_dir / "blockchain", _shared_dir, STEEMIT_INIT_SUPPLY, _shared_file_size, chainbase::database::read_write );\
                }
                catch( fc::assert_exception& )
                {
@@ -314,7 +314,7 @@ namespace detail {
                   catch( chain::block_log_exception& )
                   {
                      wlog( "Error opening block log. Having to resync from network..." );
-                     _chain_db->open( _data_dir / "blockchain", _shared_dir, 0, _shared_file_size, chainbase::database::read_write );
+                     _chain_db->open( _data_dir / "blockchain", _shared_dir, STEEMIT_INIT_SUPPLY, _shared_file_size, chainbase::database::read_write );
                   }
                }
             }
@@ -328,7 +328,7 @@ namespace detail {
          else
          {
             ilog( "Starting Steem node in read mode." );
-            _chain_db->open( _data_dir / "blockchain", _shared_dir, 0, _shared_file_size, chainbase::database::read_only );
+            _chain_db->open( _data_dir / "blockchain", _shared_dir, STEEMIT_INIT_SUPPLY, _shared_file_size, chainbase::database::read_only );

             if( _options->count( "read-forward-rpc" ) )
             {
diff --git a/libraries/protocol/include/steemit/protocol/config.hpp b/libraries/protocol/include/steemit/protocol/config.hpp
index 5336f4a9..ff738086 100644
--- a/libraries/protocol/include/steemit/protocol/config.hpp
+++ b/libraries/protocol/include/steemit/protocol/config.hpp
@@ -40,14 +40,14 @@
 #define STEEMIT_OWNER_AUTH_HISTORY_TRACKING_START_BLOCK_NUM 1
 #else // IS LIVE STEEM NETWORK

-#define STEEMIT_INIT_PUBLIC_KEY_STR             "STM8GC13uCZbP44HzMLV6zPZGwVQ8Nt4Kji8PapsPiNq1BK153XTX"
-#define STEEMIT_CHAIN_ID                        (steemit::protocol::chain_id_type())
+#define STEEMIT_INIT_PUBLIC_KEY_STR             "STX8Tu6Mx5iXjfVjQgfsTwRMJCTxcQGp6UShTFWi2Q5pr6bLPaguf"
+#define STEEMIT_CHAIN_ID                        (fc::sha256::hash("teststeemx"))
 #define VESTS_SYMBOL  (uint64_t(6) | (uint64_t('V') << 8) | (uint64_t('E') << 16) | (uint64_t('S') << 24) | (uint64_t('T') << 32) | (uint64_t('S') << 40)) ///< VESTS with 6 digits of precision
 #define STEEM_SYMBOL  (uint64_t(3) | (uint64_t('S') << 8) | (uint64_t('T') << 16) | (uint64_t('E') << 24) | (uint64_t('E') << 32) | (uint64_t('M') << 40)) ///< STEEM with 3 digits of precision
 #define SBD_SYMBOL    (uint64_t(3) | (uint64_t('S') << 8) | (uint64_t('B') << 16) | (uint64_t('D') << 24) ) ///< STEEM Backed Dollars with 3 digits of precision
 #define STMD_SYMBOL   (uint64_t(3) | (uint64_t('S') << 8) | (uint64_t('T') << 16) | (uint64_t('M') << 24) | (uint64_t('D') << 32) ) ///< STEEM Dollars with 3 digits of precision
 #define STEEMIT_SYMBOL                          "STEEM"
-#define STEEMIT_ADDRESS_PREFIX                  "STM"
+#define STEEMIT_ADDRESS_PREFIX                  "STX"

 #define STEEMIT_GENESIS_TIME                    (fc::time_point_sec(1458835200))
 #define STEEMIT_MINING_TIME                     (fc::time_point_sec(1458838800))
@@ -217,7 +217,7 @@
 #define STEEMIT_MAX_PERMLINK_LENGTH             256
 #define STEEMIT_MAX_WITNESS_URL_LENGTH          2048

-#define STEEMIT_INIT_SUPPLY                     int64_t(0)
+#define STEEMIT_INIT_SUPPLY                     int64_t(1000000000000ll)
 #define STEEMIT_MAX_SHARE_SUPPLY                int64_t(1000000000000000ll)
 #define STEEMIT_MAX_SIG_CHECK_DEPTH             2

I created a PR for the edit in application.cpp that hopefully will land so should just be the protocol/config.cpp edits

·
·

Thanks man!! I've been trying to get into these things myself lately.

I really like what you doing

·

Thanks! More coming :)

This test environment will be really useful for me for the next app that I prepare. It will remain open?

·

Yes, feel free to use it!

Awesome, looking forward to try this out 😆

This is awesome. I have just started developing an idea for steem and didnt like that I might have to test with dummy data while developing. Thanks a lot from devs current and future!

·

Thanks! I'm happy that you find it useful!

I really like what you're doing. Keep it up!

·

Thanks man!

Scam alert. Sounds fishy, nothing is free.

·

calm down.. this is testnet. You can also get free Bitcoins or ETH in their testnet. Looks legit.

·

I'll send you 1,000,000 testnet coins if you want, no strings attached!

·
·

what can he do with those testcoins? it's only for test. * tongue in cheek*

·
·
·

Don't listen to him, thanks to those testcoins, my computer became a sentient being. The robot revolution has started.
We need

Sarah Connor

Looks promising! Thanks for sharing

Works great. My #radiator tools work fine pointing at this blockchain. Well done.

·

Awesome!

Any idea if this can be used in conjunction with something else...like a game? SO like, the STEEM is used within a game interface...not an app per say but a web based game environment??

·

Yes, it could be modified for that, as long as the game is slow and fits within the confines of the blockchain.

·
·

Interesting. Where would you recommend I would look on this "world wide web" for more information on that?

·
·
·

There's not gonna be a good source for everything you'd need to know in one place. What do you want to know about it? How you'd go about making a game that hooks into Steem? How Steem works? Why there would be limitations?

·
·
·
·

Well I know what platform to use for the web based game... but my thing is I don't think I fully understand how to incorporate the two together. meaning the crypto currency and the game for example.

What can I do on there with this 100 steem?

Is there any visual interface test net or just accessible via API?

·

I have a condenser instance running that you can use https://condenser.steem.vc

·
·

Oh wow, perfect! Thanks!

Good.nice pos.vote me

this is great, congrats to you.

·

Cheers!

This post received a 1.9% upvote from @randowhale thanks to @almost-digital! For more information, click here!

Super. This is what I needed so much. Thank you so much.

wait what???? hmmm....trying this so can help some of my friends and families still on a waiting list. Can't say I didn't try.

Anyone can create a new account funded with 100 STEEM via a simple POST request. No verification required!

and then you said this.

Edit: Just to clarify, this is a tongue-in-cheek introduction of a developer tool, It's not a real steem blockchain! Its intended to be used for automated testing of apps and libraries.

·

lol! Sorry to get your hopes up

Congrats for the idea and the implementation!

That's great, it looks so promising. I am sure we can join hands and support to create it to be much more than we imagine it to be...

what is this fore?

Very good work. Thank you.
I have been also working on some tests with a testnet with a different public key.
Just a question, how did you generated this new public key? What would be the best way to generate? Did you use a simple secret password as the own testnet in steem is working?

#ifdef IS_TEST_NET
#define STEEMIT_INIT_PRIVATE_KEY (fc::ecc::private_key::regenerate(fc::sha256::hash(std::string("init_key"))))
#define STEEMIT_INIT_PUBLIC_KEY_STR (std::string( steemit::protocol::public_key_type(STEEMIT_INIT_PRIVATE_KEY.get_public_key()) ))
#define STEEMIT_CHAIN_ID (fc::sha256::hash("testnet"))

·

Yep, you can generate it with cli_wallet as well but make sure to build it with the correct address prefix first

·
·

what do you mean with correct address prefix first?

·

Thanks!

This sounds nice

I have zero idea of what this does and why i would need it. But it sounds like you are excited about it. So props! :)

·

Heh, guess not many people here also hang out on bitcointalk :) I updated the post to clarify it's just a developer tool

·
·

Roger that! I understand you're excited but you've been releasing some cool stuff so i get excited for tools especially when they are steemit related! :)

·

for example.. if you would like to test a website, which would help create accounts on Steem, without Steemit, then... without testnet you need spent a lot of resources, and waste some accounts names.

Thanks to testnet developers will be able to do that for free, without wasting resources of the main network.

·
·

that's cool. i like that, so basically a sandbox of sorts.

So,

I got really annoyed today and still am a little pissed /-:

I have 2 questions for the community here:

  1. How can I track Steemdollar on the Blockchain, can one even do that ?!
  2. How long does it take for steemdollars to transact?!

I was trying to track my transaction on the steemdollar blockchain and I couldn't.
But from the sending point the transaction is completed so it should be on the blockchain somewhere...

Tried both explorers provided by coinmarketcap.com and tried googling it - no result.

https://steemdb.com/

https://steemd.com/

found another link that I can't find now, but anyways no clue if one can track anything with it , I couldn't..

Then I tried to check the account by using the transaction code tx.. - no success.

Please help!

Thank you (-: