...hopefully this is the last of the update documentation for a little bit. (laughs) so many new implementations, so much more we're going to have to test going forward... this post should cover the last of the upgrades to the SOIL, as pushed in by the 1.6.0 (Puppeth Master) code updates to Ethereum, and which brings SOILcoin to simple parity with their codebase....
*
puppeth* : a new CLI interface which assists building new Ethereum-level blockchain networks down to the genesis, bootnodes, signers, ethstats, faucet, dashboard, etc , eliminating the need configure all these services one by one. Puppeth uses ssh to dial into remote servers, and builds its network components out of docker containers using docker-compose. The user is guided through the process via a command line wizard which handles the background configurations. This will help build test-nets for dApp development or private blockchains for DAOs, and should be an integral part of the system building a cross-chain linked blockchain network in the future.
Alongside Puppeth, a
consensus engine interface will be built into the network level protocols of go-soil. It will permit the usage of alternatives to POW block verification schemes for smaller networks, where a different security model may be required. With this release, two consensus models are supported in the production of private chains: the currently used POW model, ethash; and a new "Proof of Authority" model called clique.
Clique, the POA protocol works by allowing authorized signatories to create new blocks at their own discretion, with the ability to control minting frequency, minting distribution load between the full list of signatories, and to dynamically adjust the list of trusted signers as needed. This protocol would require for a predetermined number of signatories have active nodes at any one time, to ensure minting diversity.
As far as I understand it, from researching the consensus engine idea, these sorts of entities could be deployed as sub-chains and mineable tokens on the EVM, and as Casper (the Ethereum Core's Proof of Stake model) comes closer to implementation, its methods are likely to be included within this interface as well. Ethereum has released a testnet (Rinkeby) that is running the PoA consensus engine,
https://www.rinkeby.io/ which features netstats, a github linked faucet, block explorer, etc. if you want to poke around an iteration of what Puppeth can build out from SOILcoin as well.
*smaller changes
The gsoil console command
evm can be used to disassemble contracts, as well as to create contracts written in teh EVM assembly language.
The swarm implementation is expanded to also permit users to upload and download entire directories via tarball streams in the HTTP interface, as well as mount an entire folder structure into their local filesystem via FUSE.
RPC compiler calls (
eth_compileSolidity,
eth_compileSerpent, and
eth_compileLLL) are deprecated, and dApp developers are urged to use "proper development tools" instead. (truffle, embark, dapple) [i honestly had nothing but grief using eth_compile* with any dApp development work ive done, and while theres a learning curve to the CLI development tools mentioned, user-friendliness is improving exponentially.
thats pretty much it for the updates to potentiality with the SOILcoin blockchain. there are a ton of adjunct dApps and contracts that have to be deployed in support of these changes, and over the next few weeks ill be deploying and documenting these as well. a great deal of testing and screwing about with Swarm and Whisper is going to be needed to be done, in order to present the most friendly and understandable guides to using these technologies.
The first suite that i have to look at implementing is our own SOILcoin Name Service, which will be an integral part of the swarm funtionality on the SOILnet. The SNS will eliminate the need to copy long hexadecimal addresses (0xa1b2C3d4Ef67aA...), allowing users to claim .soil addresses, so that a transaction can be sent to somebody.soil instead of '0xa1b2C3d4Ef67aA...', or interact with 'mycontract.soil', or visit a Swarm-hosted site at 'swarmsite.soil'. will, naturally, document the heck out of it to encourage usability.