Truffle常用命令

Truffle常用命令&Web3常用方法

truffle环境配置

  1. 修改truffle-config.js配置文件

    修改networks下的development下的host和port端口信息。host和port是你链的IP和端口。

在这里插入图片描述

  1. 修改1_initial_migration.js配置文件

    将你要部署的智能合约文件名称添加到此文件中,可配置多个。

在这里插入图片描述

truffle常用命令

# 查询版本
truffle version

# 编译合约
truffle compile

# 部署合约
truffle migrate

# 进入控制台
truffle console

# 运行truffle内置的区块链
truffle develop

truffle控制台语法

# 定义变量并对变量进行赋值
let 变量名 = await 表达式
# 例如:
# let instance = await MyNFT.deployed()
# 定义一个instance变量,接收了MyNFT合约的实例化对象。
# 
# let accounts = await web3.eth.getAccounts()
# 定义一个accounts变量,接收了web3查询出来的账号信息。

# 

合约实例化对象常用方法

**注意:**以下方法是合约继承了ERC20.sol和AccessControl.sol的,基本都是这俩父类中的方法。

方法名返回值说明
合约对象名.addressString合约地址
合约对象名.grantRole(16进制角色名,账号地址)对账号进行授权
合约对象名.hasRole(16进制角色名,账号地址)Boolean账号是否有该角色

web3常用方法

方法名返回值说明
web3.eth.getAccounts()String[]链上账户集合
web3.utils.toHex(String str)String对str进行十六进制解析
web3.utils.toWei(String str)结果要用toString()进行处理
web3.utils.toWei(BN bn)
web3.utils.fromWei(String str)返回正常数值类型

Note:

web3j中的方法查询的是主链上的,要查询合约交易的还需要自己封装一层。

Remix中bytes32数据类型为十六进制补全到64位

​ eg:“OPERATOR_ROLE"对应"0x4f50455241544f525f524f4c4500000000000000000000000000000000000000”

​ 0x为十六进制标记

private static void convertStringToHex(String str) {    
	StringBuilder stringBuilder = new StringBuilder();    
	char[] charArray = str.toCharArray();    
	for (char c : charArray) {        
		String charToHex = Integer.toHexString(c);        
		stringBuilder.append(charToHex);    
	}    
	System.out.println("Converted Hex from String: "+stringBuilder.toString());
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值