We’ve just completed our first month working on the Steem proposal system and we believe we are near completion.
Progress this week
We’ve completed all features in the blockchain code itself and have begun testing. We found and fixed several bugs found while testing the new operations related to steem proposals. We also implemented the necessary changes to the steem-python and steem-js libraries (used by 3rd parties to communicate with the Steem blockchain software) and wrote regression tests to verify the new features we added.
We made further improvements to the tinman software used to test Steem, including supporting account filtering during import of data from an existing steem blockchain to limit the amount of data in the test version of the blockchain. This will allow us to create a public testnet that doesn’t impose as many hardware requirements on participants who run nodes on the testnet.
For the technically inclined, here’s a link to the github repo with an overview of the work we’ve done in the past month:
We've been developing the proposal code in these branches:
Public testnet coming soon
We plan to start up a public testnet on Monday. Initially, the public testnet will primarily be of interest to Steem witnesses and web portals to the Steem blockchain. The testnet will allow witnesses to see the proposal system in action and interact with it via the steem command-line wallet. Web portals like condenser (e.g. steemit.com), busy.org, esteem, partiko, etc. will be able to develop pages for creating and voting on proposals within their interface.
Once the portals have developed these pages, there will likely be beta versions of the portals available where regular users can test the proposal system.
I expect that it will take one man-week or less for most of the portals to implement their interfaces to the proposal system if they already support witness voting, as they should be able to re-use a lot of that code for proposals.
At minimum, I think the proposal system will need interface support from at least https://steemit.com before we can contemplate hardforking the blockchain to the new version with proposals, as it will be important that all stakeholders be able to participate in the voting process as soon as the proposal system is enabled.
Our progress so far has been inline with our initial time estimates (1-2 months). At the end of this first month, we’ve fully developed the proposal system and we’re firmly into the testing phase.
Next, we’ll need to operate the testnet for a couple of weeks to allow portals to develop their steem proposal interfaces. We’ll also be interacting with witnesses as necessary to assist them in their own testing of the proposal system.
After we have operated the testnet long enough to ensure the new code is robust and that major portals have had a chance to add support for the proposal system, we’ll tag a final release of the code suitable for witnesses to run as the new mainnet.
How are we doing?
Since we’ve completed the first month of work, Ned has asked me to check-in with the community to see how everyone feels about our progress so far and if there are any major concerns about the direction we’re moving. Please comment below if you have an opinion one way or the other.