干货 | Merkle Patricia Tree 详解

@shuxun 因为你保存了旧的 state 及其 Root 呀。每一个区块 State 都会更新一次,但以往的状态在有些节点上是还存储着的。不知道有没有回答到你的问题

Ethereum wallet 创建帐户无法创建,请教下解决办法

应该确实是需要一点时间的。可能需要在系统层收集一定的熵吧(如果不够随机,你的私钥本身就有碰撞的可能性),所以不妨等久一些。如果实在是太久(比如一个多小时没动静),再考虑别的办法

请问智能合约为什么要写业务逻辑?

是的,pang 友,这论坛实在太冷了。。

我觉得这问题其实并不简单啊。其实分很多层面来说。

比如:1. demo 的合约里要放逻辑也不并不是暗示这是最好的架构,只是示范而已。
2. 合约要有逻辑我感觉不仅有你说的那一层,就是不放在合约里面也会被绕过,即部署后端会是无用功(其实用户不会有这个意识,但懂工程的人确实会这么绕过)(而且,把逻辑放在合约里有另一个问题,就是别人会抄),还有另一个角度,就是区块链本身是造就计算过程本身的可信性,为了造就这种可信性,只能让这段代码在全球各个计算机上都跑一遍。把逻辑放进合约并不是为了效率,而是为了计算过程的可信性,没有这一点,用不用区块链都没啥区别了。

selfdestruct () 什么时候用呢?

selfdestruct() 是合约的自毁函数。用了之后这个账户就不再具有合约的功能,从功能上来说,相当于你把这个合约从链上移除了,给这个地址发交易它不会再有反应。

但从数据上来说,就像你最后一句说的:Full Node 不会把每一个块时候的状态数据都保留下来,所以自毁之后产生的状态数据就不会有该合约的代码了(当然,因为全节点要保持链数据,所以一开始构造合约的那笔交易中包含的字节码还是会以链数据的形式在全节点中保留下来);但 Archarive 节点会保密每一个块时候的状态数据,而在合约自毁之前的状态数据中有该合约的代码,所以会一直保留下去。

Parity 可以从fast 模式切换到 archive模式吗?

archive 模式跟所有模式都不一样,它不仅会同步链,还会保存每个块时候的状态数据。所以,必须善意提醒一句,请保证你的硬盘有那么大。
fast 模式同步出来的也是全节点,也就是有所谓的区块链数据,但不会有全部的状态数据,估计是同步到最新区块后开始同步状态数据。。

估计两个是不能这么切换的。

可以把问题发到论坛,问问大家。