首页 公告列表 以太坊转账解释及代币创建

以太坊转账解释及代币创建

阅读数
1126
阅读数
2019-12-04 18:13:00
文章来源:

目录

  1. 讲解代币转账的过程
  2. 零门槛创建代币
 

讲解代币转账的过程

 
每一位刚入门区块链的用户,最先接触到的可能是虚拟货币的转账了。有的用户第一次可以能是从交易所转账到另一个交易所或者是个人钱包。但是都有一个共性就是直接输入密码之后,后面的事情就交给所用的平台了。为了易于理解,我以个人钱包为对象给大家讲解转账这一流程都经历过了那几步。
 
以太坊交易的过程
  1. 用户将一笔交易发送到一个以太坊节点
  2. 这个以太坊节点将交易转发给其它挖矿的节点
  3. 挖矿的节点收到交易后将交易放入txpool(交易池)
  4. 所有挖矿节点都在txpool中选择gas价高者,做成交易块,然后运算块的hash
  5. 若干个节点中的一个幸运儿运算出来hash,并交该块广播给其它节点验证
  6. 其它节点验证通过,在交易池中删除上链交易
 
第一步、就是设置参数了,包括需要转账的地址、币数量、随机值、gas价格、gas上限、data。前面2项不用多讲解大家比较清楚,我们主要来聊聊后面的4项

随机值(nonce)。每笔交易都必须有一个随机值,这是为了防止重放攻击,在一个账户中的防止多重交易的用途。例如一个交易从 A 到 B发送了 20个ETH,有可能从 A 到 B 发送了多次。所以就用了随机值来区分。每一个账户nonce都是从0开始,当nonce为0的交易处理完之后,才会处理nonce为1的交易,并依次加1的交易才会被处理。这里有一个深刻的例子就是添加手续费的情况了,当一笔交易的手续费过少而没有被打包的时候,就可以在原来这笔交易上重新设置更高的费用,只要这个nonce不变就行,就会被认为是用一笔交易。

 

gas价格。即是愿意为这笔交易支付的每单位 gas 的价格。通俗来讲就是gas price 相当于每升汽油的价格。

 

gas上限。愿意在一笔交易中花费 gas 的最大数量,相当于骑车需要添加多少汽油一样。一笔转账需要花费矿工费 = gas上限 * gas价格

 

给大家额外补充一下以太坊的货币单位:
1 = 以太(Ether)
10的负3次方 = 芬尼(finney)
10的负6次方 = 萨博(szabo)
1的负18次方 = 维(wei)
 
data。它在转账中是可选项。在普通的转账中如果你想将一些内容和这笔转账一起发送过去,你就可在这里设置,这部分的内容将写入区块链不能篡改。以imToken为例,在转账页面中点击高级模式,然后把对应字符串转换成16进制, 以 0x + 需要发送的16进制内容,的形式填入就行。
 
blobid10.jpg
 
接下来就是签署交易了,这一步是确保这次转账为本人操作,要向网络证明这点的方法是使用该账户的相应私钥签署交易。签署过后的交易会提交到你的本地以太坊节点。然后你的本地节点会验证已签名的交易。
 
 
第二步、将交易广播至网络中。已经签署的交易将由这个节点广播至其他的节点,让然后这些节点再广播到其他节点,这个过程不断进行,一旦交易被广播至网络,你的本地节点也会输出该交易的ID。
 
blobid11.png
 
blobid3.png
 
第三步、挖矿的节点收到交易后将交易放入交易池。矿工将你的交易和其他类似的交易 添加到交易池中,然后他们再进行评估。那个交易付出的gas费用越高越有可能被添加到该区块链的下一个区块中。
 
另外,这个交易池的容量也是有限的。其他人提交了 gas 价格高的交易,希望矿工能最先选中他们的交易,如果 gas 价格高的交易填满了矿池,gas 价格低的交易就会被放弃。如果你想重新提升你在池子中的地位,可以按照上面所描述的,提供gas价格保持nonce 值不变。
 
 
第四步、选择交易,打包进区块。矿工只能选择交易池中部分的交易添加进区块,因为以太坊区块链限制了单个区块的gas上限。随后工作量证明开始运作了,矿工找到一个有效的区块。
 
 
第五步、同步该区块。经过一段时间,该有效区块被其他节点矿工接收到了,随后矿工开始检验这个区块里面的转账的有效性,并把最终有效的区块添加到这网络中。
 
 
第六步、上一步里面的有效交易将从交易池中删除掉。整个流程结束。
 
 

零门槛创建代币

接下来我们来聊聊大家感兴趣的,代币创建。如果直接编写一个合约代码,对于大多数来讲门槛可能很高。因此为了尽可能得给大家能体验一番创建代币的乐趣。
 
我直接推荐一个第三方的代币创建平台。这个平台的操作页面操作简单,相信大家都能创建属于自己的代币。当然这些代币的价值可能不大,单纯的为了体验和纪念。
 
 
创建代币需要填写的内容:
blobid12.png
 
然后使用 MetaMask 或 imToken 转账。
 
MetaMask 示例:
blobid5.png
 
 
 imToken 示例:
blobid13.png
 
blobid14.png
 
 
成功转账后,到区块浏览器查看转账记录会得到这个代币的合约地址,类似这样
blobid8.png
 
然后点击红框进去获取合约地址,在imToken钱包的这个页面添加即可显示了,接下来就可以自由转账了。
 
blobid9.jpg