BlockChain --- 账号间的交易
1. 同一个节点下不同账户直接的交易
1) 首先先在一个节点下创建两个账号:
personal.newAccount("111111") personal.newAccount("222222")
两个账号密码分别为6个1和6个2.要进行交易就先要让其中的一个账号有钱。所以我们执行挖矿操作
miner.start()
默认情况下,miner挖矿所得都在账号1下面。查看账户1下面的余额
eth.getBalance(eth.accounts[0])
2)交易账号解锁
对每个要进行交易输出的账号都需要解锁操作,否则会提示 account is locked 的交易错误
acc0 = eth.accounts[0] personal.unlockAccount(acc0)
3) 挖矿进行中
记住,以太坊中所有的交易都是需要被记录在一个特定的区块里的,挖矿就是 新建区块的过程。如果没有新的区块,那么这期间的所有的交易都是无效的。所以在交易之前,一定要保证是处于挖矿操作中。可以通过eth.mining来查看当前是否处于挖矿中
4)进行交易
为了方便交易,我们这里对账号1和2 分别进行别名设置
acc0 = eth.accounts[0] acc1 = eth.accounts[1]
之后调用sendTransaction(from,to,value)方法进行交易,该方法有三个参数:
from: 交易输出方地址(付款方)
to: 交易输入方地址(收款方)
value: 交易金额
比如,现在账号1要支付账号2 1以太币
eth.sendTransaction({from:acc0,to:acc1,value: web3.toWei(1)})
如果当前不处于挖矿中,上面执行后,也会返回一个值,但是你如果去查看两个账号的各自余额,发现是没有任何变化的。所以一定一定要记得:挖矿中进行交易
2. 不同节点之间账户的交易
前面的步骤和1完全一样。只是在调用 sendTransaction的时候,需要传入的每个账号的address
eth.sendTransaction({from:"0x51c641e9b2e9693d0f3c94e4cd804ae4eb9c8900",to: "0x573dc3f3bdd9b9b579ee507412483cf43d9e7b08", value: amount})
而且好像不同节点的交易是需要一定时间的。这个时间是怎么产生的需要再研究。
欢迎大家关注微信号:蜗牛讲技术。扫下面的二维码
作者: shaotine(蜗牛)
公众号:蜗牛讲技术
出处: http://www.cnblogs.com/StephenWu/
关注公众号:蜗牛讲技术。 满满的都是干货
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.