Prepare for the EOS Consensus Upgrade to EOSIO v1.8 on September 23 @ 13:00 UTC

Developers and node operators must take action now to avoid disruption (English, Chinese, & Korean)

The EOS Mainnet
19 min readJul 16, 2019

At the time of this writing, 17 Block Producers and 30 Standbys have signalled their intent to activate EOSIO v1.8 on the EOS Mainnet on September 23 at 13:00 UTC.

This upgrade is the first to require a “hard fork” and is not backwards compatible. Nodes are required to upgrade to remain in sync with the chain and developers need to ensure their smart contracts are compatible with the new features.

Any EOS nodes that fail to upgrade before the scheduled time will stop syncing and their last-irreversible-block will stop progressing. To avoid any disruption, this deployment guide has been assembled with resources to help developers and node operators through the upgrade.

If you are an active EOS developer, please complete this Google form to help determine the most used API nodes and help Block Producers prioritize resources. For those in China who have trouble accessing Google forms, please complete this Wenjuan form.

Activation process

  1. Anyone running a node must deploy binaries and use a snapshot, or replay history before September 23. It may take weeks to replay history, so start now.
  2. Block Producers are proposing to execute the “PREACTIVATE_FEATURE” on September 23. When this action is taken, any node that is not already on 1.8 will no longer sync to the network.
  3. Additional features of 1.8 will be activated later, which may impact your smart contract (NO_DUPLICATE_DEFERRED_ID, RESTRICT_ACTION_TO_SELF). Developers should review carefully and test on a test network to make sure these changes don’t impact your dApp.
  4. EOSIO.contracts v1.7 may also be deployed later. EOSIO.contracts are deployed from time to time by BPs. Again, you should be testing your dApp on one of the test networks to make sure it doesn’t break.

Additional notes for developers running a node on EOS

EOSIO v1.8 Deployment Process

Because these steps require replay from genesis, all node operators should take the following steps as soon as possible. These steps should be followed on an additional node that can afford to be taken offline for an extended period of time:

  1. Ensure that existing node is running the most recent stable release (1.7) of nodeos and then shut down nodeos.
  2. Make a backup and delete the blocks/reversible directory, state-history directory, and state directory within the data directory.
  3. Replace the old version of nodeos with the new release.
  4. Start the new 1.8 release of nodeos and let it complete replay from genesis and catch up with syncing with the network. The node should receive blocks and LIB should advance. Nodes running v1.8 and v1.7 will continue to coexist in the same network prior to the activation of the first protocol upgrade feature.

Read more details on the deployment process from Block.one

Snapshots

Nodes that wish to make the transition but are not interested in tracking the history of the chain from genesis have an option to speed things up by using version 2 portable snapshots provided below:

1.8 API test environment

Additional notes for developers running smart contracts on EOS

Update your smart contracts

Certain protocol features change the behavior of existing operations on the blockchain, and in some cases also slightly change the structure of blocks and transactions. Updates to your smart contracts may be required.

Test your smart contracts

EOSIO v1.8.0 has already been successfully deployed on the two most prominent test-nets, Jungle and Kylin. We encourage all developers to test their smart contracts in advance of the Mainnet deployment and join the Kylin and Jungle test-net communities.

Technical Support

EOS Block Producers are here to help. If you have any questions, concerns, or need of support, we encourage you to join us on Telegram or in WeChat.

  • Telegram: EOS BlockPros
  • WeChat ID: dfguo1 (Talk to Dafeng for an invitation to the 1.8 group)

We’re continuing to monitor the deployment status

This is the largest upgrade to the EOS Mainnet since it was launched, and the first to require a hard fork. It requires coordination and collaboration between node operators and dApp developers across the globe. Thanks to all of the Block Producers that have been participating in our weekly calls. We’ll continue to meet each Tuesday at 12:00 UTC to check in on the upgrade status and coordinate developer outreach to ensure everyone is prepared.

Watch Block Producers coordinate to determine an activation date

预计EOS共识将于9月23日13:00升级到EOSIO v1.8

开发人员和节点操作人员现在就需要及时做出正确升级操作,以避免出现不必要的问题。

在编写本文时,已有17个超级节点和30个备选节点表示他们预计于9月23日13:00在EOS主网激活EOSIO v1.8。

本次升级,是第一次需要“硬分叉”,并且不会向后兼容。节点们需要升级,以保持与主网的同步,而开发人员需要确保他们的智能合约与新功能兼容。

在预定时间内未完成升级操作的EOS节点,将停止与主网同步,他们最后一个不可逆转出块将停止运作。为了避免任何中断情况出现,本次部署指南已经配置了各种资源,以供开发人员和节点操作人员顺利完成升级操作。

如果您是一个活跃的EOS开发人员,请点击链接填写此问卷,以协助确定最常用的API节点,帮助节点配置优先资源。在中国地区的人员,肯能没法打开Google问卷,为了方便您的操作,请点击链接,(在这里)完成问卷内容。

激活过程

  1. 任何运行节点的操作人员必须完成二进制文件部署工作并使用快照(snapshot),或在9月23日前重新播放历史记录。重播历史记录可能需要花费几周的时间,所以请尽快开始吧。
  2. 节点计划于9月23日执行”PREACTIVATE_FEATURE”命令。当执行该操作后,任何尚未在1.8版本上运行的节点将不再与网络同步。
  3. 1.8版本的其他功能特性将在之后被激活,这对您的智能合约可能会稍微产生些影响 (NO_DUPLICATE_DEFERRED_ID, RESTRICT_ACTION_TO_SELF)。开发人员应该预先仔细检查,并在测试网测试,以确保这些改变不会影响到您的dApp运作。
  4. EOSIO.contracts v1.7也可能在随后部署。EOSIO.contracts 由节点们一点点部署。再次强调,您应该在测试网上测试您的dApp,以确保软件不会崩溃。

EOS节点开发人员需要留意的附加说明

EOSIO v1.8部署流程

由于这些操作步骤需要通过genesis平台重播,所以所有节点操作人员应该尽快执行以下操作步骤。这些步骤应该可以长时间脱机的附加节点上执行:

  1. 确保现有节点正运行在最新稳定版本(1.7),接下来关闭nodeos。
  2. 备份,随后删除data目录中的blocks/reversible目录,state-history目录和state目录。
  3. 用新版本的nodeos替换旧版本。
  4. 启动nodeos 的1.8版本,让其从genesis开始重播,与网络同步。节点应该接收块,应该升级LIB。在激活第一个协议升级功能之前,运行v1.8和v1.7的节点将会继续在同一网络中共存。

了解更多部署流程细节,请参考Block.one提供的说明。

快照

对于希望进行过渡但对从genesis追踪历史不感兴趣的节点,有另一个可选操作可以加快达到完成效果,就是使用以下提供的版本2轻便快照:

1.8 API测试环境

EOS上运行智能合约的开发人员需要留意的附加说明

升级您的智能合约

某些协议功能会改变区块链上现有的操作行为,在某些情况下,还需要稍微更改块和交易架构。也需要升级您的智能合约。

测试您的智能合约

EOSIO v1.8.0已经成功部署在Jungle和Kylin这两个最优质的测试网上。我们鼓励所有开发人员在主网部署之前,测试他们的智能合约,并加入Jungle和Kylin测试网社区。

技术支持

EOS节点会在这里提供帮助。如果您有任何疑问,顾虑或者需要支持,我们欢迎您加入我们的Telegram或微信群。

  • Telegram: EOS BlockPros
  • WeChat ID: dfguo1 (请与Dafeng联系加入1.8群)

我们将持续观察部署状态情况

这是EOS主网启动以来最大的一次升级,也是第一次需要硬分叉。这需要全球节点操作人员和dApp开发人员之间的协作。感谢所有参与我们每周电话会议的节点。我们将继续在每周二12:00(UTC时间),进行电话会议,以掌握升级状态并协调开发人员,以确保每个人都为升级做好准备。

节点协作确定升级日期过程视频

9월23일 UTC 13시에 다가오는 EOSIO v1.8를 위한 이오스 컨센서스 업그레이드를 위해 준비하세요.

개발자 및 노드 운영자들은 피해를 막기 위해 행동을 취해야 합니다.

이 글이 쓰여지고 있는 순간에, 10명의 BP와 24명의 후보 BP들이 9월 23일 UTC 13시에 이오스 메인넷에 EOSIO v1.8을 활성화하려는 의도를 내비추고 있습니다.

이번 업그레이드는 “하드포킹”을 요구하는 첫 번째 업데이트이며, 이전의 버전과 호환되지 않습니다. 노드들은 체인과의 싱크를 유지하기 위해 업그레이드 되어야하며, 개발자들은 그들의 스마트컨트랙이 새로운 기능들과 호환되는지를 확인해야 합니다.

업데이트 스케즐 전에 업그레이드를 실패한 모든 노드들은 더 이상 작동하지 않을 것이며, 그들의 마지막 불가역 블록 또한 멈출 것 입니다. 이러한 상황이 일어나는 것을 막기 위해서, 본 가이드는 개발자들과 노드 운영자들의 업그레이드를 도울 것 입니다.

당신이 현재 활동 중인 이오스 개발자라면, 이 구글 폼을 작성하여 BP들이 가장 많이 쓰이는 API 노드가 무엇인지 알아내어 자원의 우선순위를 정할 수 있도록 도와주세요. 중국에 있어서 구글 폼에 엑세스할 수 없는 상황이라면, 이 Wenjuan 폼을 작성해주세요.

활성화 프로세스

  1. 모든 노드 운영자들은 노드의 업데이트를 진행해야 하며, 9월 23일 전까지 스냅샷을 이용하거나 모든 히스토리를 리플레이 해야 합니다. 리플레이를 진행하는데 몇 주가 걸릴 수 있으므로, 지금 바로 시작하세요.
  2. BP들은 9월23일 “기능 재실행”을 계획하고 있습니다. 이 것이 한번 실행되고 나면 v1.8에 있지 않은 모든 노드들은 더 이상 네트워크와의 싱크를 유지할 수 없습니다.
  3. (NO_DUPLICATE_DEFERRED_ID, RESTRICT_ACTION_TO_SELF). V1.8의 추가적인 기능들은 추후에 활성화 될 것 입니다. 이는 당신의 스마트컨트랙에 영향을 끼칠 수 도 있습니다. 개발자들은 재검토를 신중히 해야하며, 테스트넷에서 당신의 dApp 이 영향을 받지 않았는지 확인해보아야 합니다.
  4. EOSIO.contracts v1.7또한 추후에 업데이트 될 수 있습니다. EOSIO.contracts 는 종종 BP들에 의해 활성화됩니다. 다시 한번, 당신의 dApp이 오작동하지 않는지 테스트넷에서 확인해보아야 할 것 입니다.

이오스에서 노드를 운영하는 개발자들을 위한 추가 노트

EOSIO v1.8 업데이트 프로세스

이 단계들은 제네시스 블록부터 모두 재실행하는 것을 요구하기 때문에, 모든 노드 운영자들은 다음의 단계들을 최대한 빨리 이행해야만 합니다.

먼저 현재 이용 중인 노드가 nodeos 의 최신1.7버전인 것을 확인한 후, nodeos 를 닫으세요.

  1. 백업 파일을 만든 후 blocks/reversible디렉토리, state-history 디렉토리, state 디렉토리, 그리고 데이터 디렉토리를 모두 삭제하세요.
  2. 전 버전의 nodeos 를 새로운 버전으로 교체하세요.
  3. 새로운 nodeos 1.8을 실행하고 이가 제네시스부터 시작해서 네트워크와의 싱크를 따라가도록 하세요. 노드는 블록을 수신할 것 이며, LIB 또한 실행될 것 입니다. 노드 v1.8과 노드v1.7은 첫 번째 프로토콜 업그레이드가 있기 전까지는 네트워크에 공존할 것 입니다.

블록원이 업로드한 공지에서 더 자세한 정보를 확인보세요.

스냅샷

업그레이드를 진행하고는 싶으나 제네시스 블록부터 모든 히스토리를 리플레이하는데 관심이 없는 노드들은 아래 제공된 두 개의 스냅샷을 이용하는 좀 더 간단한 대안을 선택할 수 있습니다.

1.8 API 테스트 환경

이오스 상에 스마트컨트랙을 운영하는 개발자들을 위한 추가 공지

당신의 스마트컨트랙을 업데이트하세요.

일부 프로토콜 기능들은 현재 블록체인에서 작동하는 몇몇 운영 방식을 바꿀 수 있으며, 어떠한 경우에는 블록과 트랜젝션의 구조를 살짝 바꿀 수 도 있습니다.

당신의 스마트컨트랙을 업데이트하는 것을 추천합니다.

당신의 스마트컨트랙을 테스트하세요.

EOSIO v1.8.0 은 이미 두 개의 가장 유망한 테스트넷, Jungle 과 Kylin 에서 성공적으로 실험을 맞추었습니다. 모든 개발자들에게 메인넷에 운영을 하기 전에 Kylin과 Jungle 테스트넷 커뮤니티에서 테스트를 진행해 볼 것을 추천드립니다.

기술 지원

이오스 BP들이 당신을 도울 것 입니다. 어떠한 질문이나 걱정이 있거나 지원이 필효하시다면, 이 텔래그램 그룹이나 위쳇 그룹에 참가하실 것을 추천합니다.

  • 텔래그램: EOS BlockPros
  • 위쳇: dfguo1 (1.8그룹에 초대되기 위해서는 Dafeng에게 연락을 취하세요.)

업데이트의 상태를 계속해서 점검할 것 입니다.

이는 이오스 메인넷 런칭 이후 최대 규모이며 하드포킹을 요구하는 최초의 업그레이드 입니다. 이는 또한 전 세계의 노드운영자와 개발자들 사이의 협업을 필요로 합니다. 매 주 통화에 참여하여 준 BP들에게 감사의 인사를 보냅니다. 저희는 매 주 화요일 UTC 12시에 업데이트의 상황을 확인하고 모든 개발자들이 준비가 되어 있도록 하기 위해 계속해서 통화를 이어나갈 것 입니다.

BP 들이 함께 런칭 날짜를 결정하는 과정을 목격하세요.

--

--

The EOS Mainnet

This is the official channel for updates regarding the EOS Mainnet. Operated by the community. Not affiliated with BlockOne