IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> UniApp 以太坊bite钱包定义合约查余额及交易(二) -> 正文阅读

[区块链]UniApp 以太坊bite钱包定义合约查余额及交易(二)

?接UniApp 以太坊bite钱包生成助记词并创建账户(一),继续更二 bite钱包定义合约查余额及交易的代码及一些方法。此文仅写思路和一些简略的代码及介绍,作为个人开发或迭代钱包项目的参考

????????定义合约:

var abi = [{
    ....
}];

//address -(一)内创建账户后生成的地址
var myContract = new web3.eth.Contract(abi, address);

/*new web3.eth.Contract(jsonInterface[, address][, options])
*参数:

*jsonInterface - Object: 要实例化的合约的json接口
*address - String: 可选,要调用的合约的地址,也可以在之后使用 myContract.options.address = *'0x1234..' 来指定该地址
*options - Object : 可选,合约的配置对象,其中某些字段用作调用和交易的回调:
*from - String: 交易发送方地址
*gasPrice - String: 用于交易的gas价格,单位:wei
*gas - Number: 交易可用的最大gas量,即gas limit
*data - String: 合约的字节码,部署合约时需要
*/


查询余额:

// 查询以太币余额
web3.eth.getBalance(address).then(console.log);
 
// 查看某个账号的代币余额
myContract.methods.balanceOf(contractAddress).call({from: currentAccount}, function(error, result){
    if(!error) {
        console.log(result);
    //展示余额     以wei为单位的值转换为其他单位的数值 默认值为ether
        this.bals = web3.utils.fromWei(result)
    } else {
        console.log(error);
    }
});

发送Token,并进行ABI编码,可用于发送交易、调用方法或向另一个合约方法传递参数

var sendNum = 0;
var ContractData =  myContract.methods.transfer(address, sendNum).encodeABI()

使用指定的私钥创建一个账户对象

let account = web3.eth.accounts.privateKeyToAccount('0x348ce564d427a3311b6536bbcff9390d69395b06ed6c486954e971d960fe8709');

指定地址发出的交易数量

web3.eth.getTransactionCount("0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe")
.then(console.log);
> 1

/**
*web3.eth.getTransactionCount(address [, defaultBlock] [, callback])
*参数:

*address:String - 要查询的账户地址
*defaultBlock:Number|String - 可选,设置该参数来覆盖web3.eth.defaultBlock属性值
*callback:Function - 可选的回调函数,其第一个参数为错误对象,第二个参数为结果
**/

//对交易进行签名,用来签名的账户地址需要首先解锁 解析值为RLP编码的交易对象。该对象的raw属性可以用来通过web3.eth.sendSignedTransaction() 方法来发送交易

示例代码:
var txData = {
    //from:contractAddress,
    to: contractAddress,
    value: web3.utils.toWei('0','ether'),//合约交易(csdn不能打转z ),此值需设为0
    gas: this.chainGas,
    gasPrice: this.gasPrice,
    nonce: nonce,
    chainId: this.chainID,
    data: ContractData,
    //前面设置好的var ContractData=myContract.methods.transfer(address, 10000).encodeABI(),
}

web3.eth.signTransaction(txData).then(result=>{
    //发送已经签名的交易
    web3.eth.sendSignedTransaction(result.rawTransaction).then(function(result1_send){
        //...一些操作 比如请求链接..
        console.log('ok');
    });
});

交易数据对象可以包含如下字段

from- String|Number:发送帐户的地址。如果未指定,则使用web3.eth.defaultAccount属性。或web3.eth.accounts.wallet中本地钱包的地址。
to- String:(可选)消息的目标地址,若未定义则为合同发送消息。
value- Number|String|BN|BigNumber:(可选)为wei中的交易转移的数量,如果是合约发送消息,则是捐赠给合约地址。
gas - Number:(可选,默认:待定)用于交易的gas(未使用的gas会退还)。
gasPrice- Number|String|BN|BigNumber:(可选)此交易的gas价格,以wei为单位,默认为web3.eth.gasPrice
data- String:(可选)包含合同上函数调用数据的ABI字节字符串。
nonce- Number:(可选)随机数的整数。
callback-Function:(可选)可选回调,将错误对象作为第一个参数返回,结果作为第二个参数返回。
返回参数 PromiEvent:promise组合的事件,将在交易完成时调用
"transactionHash"返回String:在发送事务并且事务哈希可用之后立即触发。
"receipt"返回Object:在交易确认时触发。
"confirmation"返回Number,Object:每次确认都会被调用,直到第12次确认。接收确认编号作为第一个参数,将数据作为第二个参数。
"error"返回Error:如果在发送过程中发生错误,则会触发。

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:03:51  更:2022-09-15 02:04:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:21:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码