入门 - 9. 控制台

优质
小牛编辑
124浏览
2023-12-01

原文:http://truffleframework.com/docs/getting_started/console

背景

有时在进行测试和debug时,或手动执行交易时与合约进行直接交互是需要的。Truffle提供了一种更加简单的方式,通过交互式控制台来与你的那些准备好的合约进行交互。

命令

启动控制台,使用:

truffle console

这会使用默认网络来调起一个控制台,会自动连接到一个运行中的以太坊客户端。你可以使用选项--network来修改这个特性,更多细节参见2. 网络与APP部署和4. Truffle命令指南。

当你加载了控制台,你会看到下面的输出:

$ truffle console
truffle(default)>

default的意思是说,你当前连接到的是默认网络。

特性

控制台支持Truffle命令行支持的命令,比如,你可以在控制台中执行migrate --reset,其效果与在命令行中执行truffle migrate --reset的效果一致。Truffle的控制台额外增加如下特性:

  • 所有已经编译的合约都可用。就像在开发测试,前端代码中,或者移植代码中那样使用。
  • 在每个命令后,你的合约会被重新加载。如使用migrate --reset命令后,你可以立即使用新分配的地址和二进制。
  • web3库也可以使用,且也连到你了的以太坊客户端。
  • 所有命令返回的promise,会自动解析,直接打印出结果,你可以不用输入then(),简化了命令。如下:
truffle(default)> MyContract.deployed().getValue.call(); //
5

如果任何问题,欢迎留言批评指正。