Mainnet Release Strategy
6.6 testnet | Next week
We will be testing the recent major adjustments: these are edge cases that are now being thought of and mitigated against. So far since testnet 6.5 we have not exhibited any network degredation. Now with the latest adjustments opening up the transaction pool to multi purchase, we will now confirm the recent modifications.
stagenet 1 | June 1
Upon confirmation of testnet 6.6 we can deploy a public staging network that includes:
- The Safex Blockchain Marketplace Protocol
- A website interface to viewing the stagenet
- A wallet that enables account creation, messaging, order management, and purchasing
- An API for developers to build tools that interact with the blockchain marketplace
The stagenet deliverables should be compiled for the three major platforms: Linux, OSX, Windows
The goals of this phase is to enable a wider set of the community to participate in this testing period: that includes support from the existing testing group to get people up to speed. Additionally we will incentivize participants with goods you can buy with testnet coins. (free stuff to testers)
stagenet 2 | June 21
During Stagenet 1, we will discover a lot of information, and with that ways to improve the system. Also, we will have a chance to see if there are any additional major issues that are discoverable with a wider sample of users.
We can fix and improve things and release an additional staging network to confirm the adjustments ahead of the mainnet launch.
mainnet launch | July 5
After confirming our system through stagenet 2 we will be able to set a block height that all nodes should conform to when the marketplace will emerge.
These dates are approximations, and some phases could take longer in case some critical issues are discovered, yet they can also be shorter if the sample size is big rapidly enough and there is sufficient activity and with only minor or known issues are discovered then, the testing phase would be shorter. Yet these are realistic time frames considering the pace of iterations on the testnets we have done over the past quarter of the year leading to this point.
TWM Wallet | API
This week we will be releasing an updated TWM Wallet with the token staking, and revenue share collecting functions as well as some of the monitoring: how many tokens are in the pool, what is your percentage of the pool of staked tokens, the interval until the next revenue amount can be collected, as well as your share of the SFX that you can redeem.
All of this functionality is integrated in a new view on the wallet for now named
Staking which is housing this functionality. Some additional function calls to the c++ wallet adapter are being added by Igor to fulfill the detailed view of your staking activity and revenue collection.
Work related to last week: integrating the TWM API to the wallet is still under way and will be released for testing next week.
Safexcore | Marketplace Protocol
During last week Igor was hands on with many additional refactors and optimizations.
When editing an account, offer, or price oracle if you ever reverted or changed data that was identical to a previous edit, the transaction gets rejected. This is due to the logic not accounting for new iterations despite being the same data. This is a scenario that is so likely such as a price oracle reaching the same price twice.
In response to this situation, Igor adjusted the way transactions are formed that reduced the amount of data necessary to form a transaction, and for permitting the blockchain to coordinate between updates that have same data of previous edits.
An additional bug discovered during the week was that, it is not possible to remove all of your accounts from your wallet. There may be a case where you want to leave no trace of your account in that wallet file. The wallet would remove it, but not completely remove the account so it would be reparsed and reemerge. This has been fixed so you can permanently remove even to the last account if you so chose.
Furthermore, as part of maintaining the stability of the network Igor has proposed three additional adjustments:
When authenticating accounts to the blockchain, some additional data integrity checks will be added to ensure the inputs match the outputs when forming an account creation transaction.
Additionally, the blockchain will accept a transaction containing only one advanced transaction command. This means it will not be possible to put multiple edits or account creations into a single transaction, they would need to be individualized. This already existed on the wallet level, though is now embedded in the blockchain. In this way we can protect the blockchain against potential data inconsistencies. This feature is already completed.
There will now be a
minimum price for an offer of 0.0001 SFX. Similar to the dust transaction in bitcoin, where there is a minimum amount that can be sent in a single bitcoin transaction which was introduced after its initial launch, here we will include this rate, which we believe should be sufficient for the moment, and can be adjusted readily if need be. This will protect the network from low value transaction spam.
Finally, unrelated to network stability, but related to usability: in the current testnet it is possible only for a single purchase transaction in the transaction pool at a time. This would mean only one person can try to buy a particular item at a time. The application of this restriction was only for the moment, to move the testnet forward: however, now the functionality permits the transaction pool to intelligently monitor for purchases and quantities available and it rejects only after the quantity available has reached 0.
If your transaction was rejected due to inventory issues, it will not deduct any funds from your wallet. Life will go on as it should.
All of these updates are getting packaged up for another reset of the test network ahead of the staging network phase.
The Safex Development Community