truffle console用法 总结
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了truffle console用法 总结相关的知识,希望对你有一定的参考价值。
4.1.创建自己的合约
在./contract目录下创建一个自己的合约文件Greeter.sol,其代码如下:
contract Greeter
address creator;
string greeting;
function Greeter(string _greeting) public
creator = msg.sender;
greeting = _greeting;
function greet() public constant returns (string)
return greeting;
function setGreeting(string _newgreeting) public
greeting = _newgreeting;
/**********
Standard kill() function to recover funds
**********/
function kill()public
if (msg.sender == creator)
suicide(creator); // kills this contract and sends remaining funds back to creator
4.2.新建发布脚本
在./migrations/目录下修改 2_deploy_contracts.js 文件,增加发布代码如下:
module.exports = function(deployer)
deployer.deploy(Greeter,"Hello, World!");//"参数在第二个变量携带"
;
之后就是 truffle compile编译合约;truffle migrate部署合约,效果如下:
4.3.通过控制台操作
我们可以运用 truffle console 命令进入控制台,通过控制台输入相关指令进行相关操作,效果如下:
通过输入指令进行相关操作:
查询-----调用call例子
MetaCoin.deployed().then(function(contractInstance)contractInstance.getBalance.call('0x2B9f4E75310127Bbd1A13E6a3Cb9cBc8bDc05F91').then(function(v)console.log(v)))
设置---sendTransaction
MetaCoin.deployed().then(function(contractInstance)contractInstance.sendCoin.sendTransaction('0xA39b1E127aEd52352b3cc043C94189E46C9E9601',200).then(function(v)console.log(v)))
Ubuntu下Truffle框架的搭建_浪里个浪の的博客-CSDN博客_ubuntu安装truffle
进入truffle控制台调试合约
合约部署成功后,在终端执行truffle console
,可以进入javascript控制台对合约进行调试:
-
truffle console
-
truffle(default)>
在Javascript控制台通过
ContractName.deployed()
或ContractName.at(contractAddress)
获取已部署的合约对象,之后就可以通过该对象调用合约的方法进行调试:
获取已部署的合约对象:
truffle(default)> var metacoin = MetaCoin.deployed()
首先查看第一个账户的MetaCoin余额:
truffle(default)> metacoin.getBalance.call(web3.eth.accounts[0])
应该返回10000,因为在MetaCoin的构造函数中将合约创建者的初始值设为了10000。
接下来从第一个账户往第二个账户转30个MetaCoin:
truffle(default)> metacoin.sendCoin.sendTransaction(web3.eth.accounts[1],30,from:web3.eth.accounts[0])
上面调用sendCoin会向区块链发送一笔交易,需要节点挖矿使交易生效。
转账成功后再查看两个账户的余额是否发生了变化:
-
truffle(default)> metacoin.getBalance.call(web3.eth.accounts[0])
-
truffle(default)> metacoin.getBalance.call(web3.eth.accounts[1])
执行完后发现accounts[0]的余额变成了9970,accounts[1]的余额变成了30,说明转账成功了。输入.exit
可以退出truffle控制台。
以太坊学习笔记:Truffle开发环境配置及使用_chuhuan6596的博客-CSDN博客
以上是关于truffle console用法 总结的主要内容,如果未能解决你的问题,请参考以下文章
使用truffle console连接到公共区块链网络,出现undefined Error: Mnemonic invalid or undefined