{"id":18594,"date":"2026-03-24T02:09:49","date_gmt":"2026-03-24T02:09:49","guid":{"rendered":"https:\/\/cryptoted.net\/index.php\/2026\/03\/24\/geth-1-6-puppeth-master\/"},"modified":"2026-03-24T02:09:49","modified_gmt":"2026-03-24T02:09:49","slug":"geth-1-6-puppeth-master","status":"publish","type":"post","link":"https:\/\/cryptoted.net\/index.php\/2026\/03\/24\/geth-1-6-puppeth-master\/","title":{"rendered":"Geth 1.6 &#8211; Puppeth Master"},"content":{"rendered":"<p> <br \/>\n<br \/><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/puppeth.png\" \/><\/p>\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">Cramming in a lot more goodies than originally anticipated, the Go Ethereum team is proud to finally deliver the first incarnation of the 1.6 Geth release series! Glimpsing through the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/milestone\/28?closed=1\">commit list<\/a>, this is going to be a monster post!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"toml-configuration-files\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"toml configuration files permalink\" href=\"#toml-configuration-files\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Toml configuration files<\/h2>\n<p class=\"chakra-text css-gi02ar\">For a very long time now, people were requesting that we support configuration files to aid in switching between different public and pirate chains. We didn&#8217;t focus much on private networks, so we&#8217;ve always pointed people towards using shell scripts in those cases. Although they are suitable for many scenarios, shell scripts aren&#8217;t portable across different operating systems, especially Unix and Windows.<\/p>\n<p class=\"chakra-text css-gi02ar\">By popular demand, we&#8217;ve reworked the entire configuration and flag handling for Geth 1.6, finally landing support for this much requested feature. The configuration file uses the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/toml-lang\/toml\">TOML<\/a> format and the fields that can be set map one-to-one to the config structures <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span> uses internally. Certain fields have been omitted\u00a0to prevent sensitive data circulating in configuration files.<\/p>\n<p class=\"chakra-text css-gi02ar\">Figuring out how to create a &#8220;proper&#8221; config file for your node with all the correct fields set up just the way you&#8217;d like it &#8211; whatever the field names even are &#8211; can be daunting. Instead, Geth 1.6 ships with a command that you can invoke to print the exact config file you&#8217;ll need based on your custom invocation flags (<span class=\"chakra-text css-ons8vw\">geth &#8211;your-favorite-flags dumpconfig<\/span>). This dump can then be loaded up via <span class=\"chakra-text css-ons8vw\">geth &#8211;config yourfile.toml<\/span>. We&#8217;re also planning to allow embedding the genesis configurations, but that needs a bit more\u00a0thought to finalize.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"pure-go-ethash\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"pure go ethash permalink\" href=\"#pure-go-ethash\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Pure Go ethash<\/h2>\n<p class=\"chakra-text css-gi02ar\">Since the very beginning, Ethereum had a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/ethash\">C ethash<\/a> implementation, shared between the various clients. This helped reduce maintenance efforts while the algorithm was evolving, at the expense of adding a big chunk of non trivial C code to <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span>.<\/p>\n<p class=\"chakra-text css-gi02ar\">This began to hurt more and more as time progressed. Without C knowledge on the Go Ethereum team, we couldn&#8217;t properly handle performance issues and inherently couldn&#8217;t implement optimizations essential for mobile devices. The design of the C ethash prevents it from running on big endian processors that would\u00a0require invasive\u00a0redesign. Lastly, depending on C code significantly hurts our portability and maintainability.<\/p>\n<p class=\"chakra-text css-gi02ar\">Starting with Geth 1.6, we&#8217;ve deprecated our use of the original C ethash and reimplemented it fully in Go. This permits us to generate mining DAGs concurrently on all available CPUs,\u00a0rotate old mining DAGs out instead of storing them indefinitely,\u00a0use memory mapped verification caches essential for fast mobile startup times, and run on any platform Go supports. For details, performance numbers and CLI flags, please consult the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/pull\/3750\">pure Go ethash PR<\/a>.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"router-cpu-compatibility\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"router cpu compatibility permalink\" href=\"#router-cpu-compatibility\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Router CPU compatibility<\/h3>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve always taken\u00a0pride in supporting the <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span> codebase on a variety of exotic platforms,\u00a0which were\u00a0severely limited by the weight of a full node. However, with the light client slowly maturing, it makes more and more sense to expand our platforms towards previously unfeasible directions.<\/p>\n<p class=\"chakra-text css-gi02ar\">With the 1.6 release family of Geth, we are further pushing the envelope by introducing support for MIPS CPUs, most commonly found in consumer router devices. Geth 1.6 runs on both 64 bit and 32 bit MIPS CPUs in both little endian and big endian mode (courtesy of our new ethash code). You can find pre-built stable and develop binaries for these\u00a0MIPs CPUs on our <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/geth.ethereum.org\/downloads\/\">downloads page<\/a> from now on.<\/p>\n<p class=\"chakra-text css-gi02ar\">Although we&#8217;ve successfully put a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/twitter.com\/peter_szilagyi\/status\/839489351461531649\">consumer router on the mainnet<\/a>, there&#8217;s still much to do make the experience smooth. The most notable bottleneck is the memory hardness of ethash, requiring non-negligible amounts of storage and memory capacity&#8230; one more reason to switch to PoS! \ud83d\ude09<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"plugable-consensus-engines\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"plugable consensus engines permalink\" href=\"#plugable-consensus-engines\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Plugable consensus engines<\/h2>\n<p class=\"chakra-text css-gi02ar\">Over the last few releases we&#8217;ve been slowly\u00a0working towards abstracting consensus related concepts in our codebase, with the long term goal of\u00a0preparing for Casper and proof-of-stake. It was a lower priority feature as there were\u00a0so many\u00a0other tasks hanging around. Priorities\u00a0changed when the Ropsten testnet was spammed to an unusable state.<\/p>\n<p class=\"chakra-text css-gi02ar\">The root cause of the attack&#8217;s success was that a proof-of-work network is only as secure as the computing capacity placed behind it. Restarting a new testnet from zero wouldn&#8217;t solve much, since an attacker could mount the same attack over and over again. The time seemed ripe to put some effort into the consensus model within <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span> and allow using alternatives to proof-of-work for smaller networks, where a different security model is more suitable.<\/p>\n<p class=\"chakra-text css-gi02ar\">The result is that Geth 1.6 features a plugable consensus model where developers, wanting to roll their own fork of Ethereum with wildly different ways of\u00a0agreeing\u00a0on block validity, can now do so by\u00a0implementing a simple <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/godoc.org\/github.com\/ethereum\/go-ethereum\/consensus#Engine\">Go consensus engine interface<\/a>. The current ethash backed proof-of-work consensus model is also <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/godoc.org\/github.com\/ethereum\/go-ethereum\/consensus\/ethash\">&#8220;just&#8221; another implementation<\/a> of this interface.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"clique-poa-proof-of-authority-protocol\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"clique poa proof of authority protocol permalink\" href=\"#clique-poa-proof-of-authority-protocol\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Clique PoA (proof-of authority) protocol<\/h3>\n<p class=\"chakra-text css-gi02ar\">With the old Ropsten testnet down the drain, different groups scrambled to\u00a0create a new testnet that would suit them, but may or may not suit others much. These efforts<strong>\u00a0<\/strong>gave birth to a reverted Ropsten testnet from the Parity team (relying on custom soft-fork code, bootnodes and blacklists) and the Kovan testnet from a Parity conglomerate (relying on a then undocumented Parity consensus engine). Both solutions lock\u00a0out other clients.<\/p>\n<p class=\"chakra-text css-gi02ar\">Our solution was to\u00a0propose a cross client proof-of-authority consensus engine called <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/EIPs\/issues\/225\">Clique (EIP 255)<\/a>. The main design considerations behind Clique were simplicity (i.e. minimize the burden of adding to different clients) and compatibility (i.e. support existing sync techs in <strong>all<\/strong> clients). The proposal was accepted by all client developers on the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/pm\/blob\/master\/All%20Core%20Devs%20Meetings\/Meeting%2012.md\">17th of March, 2017<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">With our 1.6.0 release, <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span> also features a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/godoc.org\/github.com\/ethereum\/go-ethereum\/consensus\/clique\">full implementation<\/a> of the Clique proof-of-authority consensus engine. In addition to\u00a0all the consensus related functionality, the engine also supports customizable block times for private network scenarios. As to how you can create your own Clique network&#8230; \ud83d\ude09<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"puppeth-network-manager\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"puppeth network manager permalink\" href=\"#puppeth-network-manager\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Puppeth network manager<\/h2>\n<p class=\"chakra-text css-gi02ar\">Do you <em class=\"chakra-text css-0\">like<\/em> setting up a private network? Don&#8217;t answer that! Truth be told, if you&#8217;ve ever tried to set up your own private Ethereum network &#8211; whether for friendly fun, corporate work, or hackathon aid &#8211; you&#8217;ll certainly know the pain it takes to do so. Configuring a genesis block is one thing, but when you get to bootnodes, full nodes, miners and light clients, things start to wear thin fast&#8230; and we haven&#8217;t even talked about monitoring, explorers, faucets, wallets. It&#8217;s a mess.<\/p>\n<p class=\"chakra-text css-gi02ar\">Geth 1.6 ships a new tool called <span class=\"chakra-text css-ons8vw\">puppeth<\/span>, which aims to solve this particular\u00a0pain point. Puppeth is a CLI wizard that\u00a0aids in creating a new Ethereum network down to the genesis, bootnodes, signers, ethstats, faucet, dashboard and more, without the hassle that it would normally take\u00a0to 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 that does the heavy lifting and topology configuration automatically behind the scenes.<\/p>\n<p class=\"chakra-text css-gi02ar\">Puppeth is not a magic bullet. If you have large in-house Ethereum deployments based on your own orchestration tools, it&#8217;s always better to use existing infrastructure. However, if you need to create your own Ethereum network without the fuss, Puppeth might actually help you do that&#8230; fast. Everything is deployed into containers, so it will not litter your system with\u00a0weird packages. That said, it&#8217;s Puppeth&#8217;s first release, so tread with caution and try not to deploy onto critical systems.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"rinkeby-test-network\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"rinkeby test network permalink\" href=\"#rinkeby-test-network\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Rinkeby test network<\/h3>\n<p class=\"chakra-text css-gi02ar\">As mentioned in this post already, the Ropsten testnet fell apart a few months back. There are <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/ropsten\/blob\/master\/revival.md\">ongoing efforts<\/a> to revive it as it&#8217;s a valuable component of the Ethereum ecosystem. That said, we find it essential to provide developers with a network they can rely on, one that cannot be attacked so easily. One such network is the second half of the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/EIPs\/issues\/225\">EIP 255<\/a> proposal, the Rinkeby testnet.<\/p>\n<p class=\"chakra-text css-gi02ar\">On the 10th of April we launched the <em class=\"chakra-text css-0\">alpha<\/em> version of Rinkeby, a new proof-of-authority testnet based on the Clique protocol. Rinkeby is currently upheld by three (3) Foundation signing nodes, but we eagerly look forward to promote external entities too, so that the network&#8217;s resiliency may be furthered. The network also features a public GitHub authenticated faucet that is accessible to everyone under the same conditions. As to why it&#8217;s an <em class=\"chakra-text css-0\">alpha<\/em> version, Rinkeby is the first live incarnation of Clique and we have yet to see how it fares under global load.<\/p>\n<p class=\"chakra-text css-gi02ar\">So, how can you access it? Being alpha, we didn&#8217;t yet add a flag for it into Geth 1.6, however we went out of our way to make it beyond trivial do connect and use it&#8230; via it&#8217;s own website at <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/www.rinkeby.io\/\">https:\/\/www.rinkeby.io\/<\/a>! Dashboard, ethstats, faucet and connectivity tutorials for Geth, Wallet\/Mist and Android\/iOS! If you&#8217;re wondering how we made all this, Puppeth of course! This <strong>is<\/strong> what Puppeth was born for, and you can have the same for your own private networks too!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"mounting-swarm-data\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"mounting swarm data permalink\" href=\"#mounting-swarm-data\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Mounting swarm data<\/h2>\n<p class=\"chakra-text css-gi02ar\">If you&#8217;ve used our experimental swarm implementation before, you&#8217;ll know that operating with files is easy enough, but when it comes to working with entire folders &#8211; possibly nested\u00a0&#8211; it can become cumbersome. Fine for a program, but less so for manual user interaction.<\/p>\n<p class=\"chakra-text css-gi02ar\">To try and address this shortcoming, the Swarm implementation shipped with our current release features a few milestone features, notably the ability to upload and download entire directories via tarball streams in the HTTP interface, as well as mounting an entire folder into your local filesystem via FUSE! This should make Swarm a lot more viable both for file backup purposes as well as for easily exploring complex directory structures.<\/p>\n<p class=\"chakra-text css-gi02ar\">Apart from these neat features, Swarm saw various stability improvements and bugfixes, gained the ability to manipulate manifests via the command line, as well as to create listings\/sitemaps out of them.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"64-bit-gas-calculations\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"64 bit gas calculations permalink\" href=\"#64-bit-gas-calculations\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>64 bit gas calculations<\/h2>\n<p class=\"chakra-text css-gi02ar\">The Ethereum Yellow Paper specifies that gas included with transactions can be an arbitrary value up to the ludicrous amount of 2^256 (which could cover almost as many transactions as the number of atoms in the known universe). As such, the <span class=\"chakra-text css-ons8vw\">go-ethereum<\/span> EVM was implemented to work with these insanely large\u00a0numbers for gas calculations, causing<strong>\u00a0<\/strong>equally large performance penalties while running every transaction.<\/p>\n<p class=\"chakra-text css-gi02ar\">As there is simply no meaningful reason to use big-number arithmetic for gas calculations, Geth 1.6 switched over to working with 64-bit values, which is a native hardware-supported type on any modern CPU. If you are wondering whether this would pose any limitation, a single block with a gas limit of 64-bits could fit in 44 times more transactions than the number of red blood cells in the human body. I think we&#8217;re safe for the foreseeable future.<\/p>\n<p class=\"chakra-text css-gi02ar\">Regarding\u00a0performance improvement, we don&#8217;t have an exact number, but it is safe to say that shaving off hundreds of memory allocations per every single transactions can&#8217;t be a bad thing.<\/p>\n<p class=\"chakra-text css-gi02ar\">Besides all the highlighted features mentioned above, a<strong>\u00a0<\/strong>numerous\u00a0number of bug fixes have also been merged in, ranging from ethstats reporting, to singleton miner networks, star topology propagation fixes and more. Please check the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/releases\/tag\/v1.6.0\">Geth 1.6.0 release notes<\/a> for a condensed rundown.<\/p>\n<p class=\"chakra-text css-gi02ar\">Other smaller features include constant improvements to the light protocol, heavy development in the Whisper protocol (getting very close to a public v5 release), and we&#8217;ve even swapped out our entire logging system to a much nicer and more robust version.<\/p>\n<p class=\"chakra-text css-gi02ar\">As always, you can install Geth via your <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/geth.ethereum.org\/install\/\">favorite package manager<\/a>, or download a pre-built binary for a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/geth.ethereum.org\/downloads\/\">variety of supported platforms<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">Happy puppetheering! The go-ethereum Authors.<\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"important-notice\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"important notice permalink\" href=\"#important-notice\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>IMPORTANT NOTICE<\/h2>\n<p class=\"chakra-text css-gi02ar\">Given the nature of this release, which includes heavy rework around gas calculations in the Ethereum virtual machine and heavy refactors around plugable consensus engine split, we ask <em class=\"chakra-text css-0\">production<\/em> users to exercise caution and care when upgrading. We consider Geth 1.6 as a pre-release until large scale stability is confirmed.*<\/p>\n<p class=\"chakra-text css-gi02ar\">It is important for all <em class=\"chakra-text css-0\">production<\/em> users to understand the risks involved in new releases such as this one. There may be undetected bugs and unexpected consequences that could lead to loss or other unwanted results. This release is for sophisticated production users who understand the Geth platform, the impact it may have on the users and the risks that new releases of this nature involve.<\/p>\n<\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2017\/04\/14\/geth-1-6-puppeth-master\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cramming in a lot more goodies than originally anticipated, the Go Ethereum team is proud to finally deliver the first incarnation of the 1.6 Geth release series! Glimpsing through the commit list, this is going to be a monster post! Toml configuration files For a very long time now, people were requesting that we support [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":18595,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[24],"tags":[],"kronos_expire_date":[],"class_list":["post-18594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum"],"_links":{"self":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/comments?post=18594"}],"version-history":[{"count":0,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18594\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media\/18595"}],"wp:attachment":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media?parent=18594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/categories?post=18594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/tags?post=18594"},{"taxonomy":"kronos_expire_date","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/kronos_expire_date?post=18594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}