Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
            页面加载耗时 0.00 毫秒·物理内存 156.9MB ·虚拟内存 1438.3MB
        
        欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
        
        
        此清单只为俯瞰一下geth中可以使用哪些方法来与以太坊进行交互,详细的还是要参考官方文档:
可以参考:
https://github.com/ethereum/go-ethereum/wiki/Management-APIs
https://ethereum.gitbooks.io/frontier-guide/content/jsre.html
在这个环境里也内置了一些用来操作以太坊的Javascript对象,可以直接使用这些对象。这些对象主要包括:
1、admin对象
admin.addPeer(nodeURL)  // 为本客户端新建与目标节点的链接
admin.peers    // 返回已有连接对象组成的数组
admin.nodeInfo // 返回节点信息
admin.datadir  // 返回当前节点存储数据的文件夹
admin.importChain(file)  // 从编组二进制格式的数据导入区块
admin.exportChain(file)  // 把区块导出为二进制格式
admin.chainSyncStatus    // 返回区块链同步状态信息
admin.startRPC(host, portNumber, corsheader, modules) // 启动JSON-RPC的HTTP服务
admin.stopRPC()          // 关闭JSON-RPC的HTTP服务
admin.verbosity(level)   // 设置日志冗水平,1-6级
admin.setSolc(path2solc) // 设置solidity编译器,例如:admin.setSolc('/some/path/solc')
admin.sleepBlocks(n)     // 等待n个区块
/*****以下是与智能合约有关的方法*****/
admin.saveInfo(contract.info, filename)  // 把合约info按照json格式写到目标文件
admin.startNatSpec()     // 启动协议NatSpec构建合同和事务
admin.stopNatSpec()      // 停止NatSpec
admin.getContractInfo(address)  // 按合约地址返回json格式的合约信息
admin.register(address, contractaddress, contenthash) // 将内容hash注册到合约的代码hash
admin.registerUrl(address, codehash, contenthash)     // 在区块链中注册带有内容哈希值的网址 
2、miner对象
miner.start()  // 开始挖矿
miner.stop()   // 停止挖矿
miner.startAutoDAG() // 开启auto DAG
miner.stopAutoDAG()  // 关闭auto DAG
miner.makeDAG(blockNumber, dir) // 产生epoch的DAG
miner.hashrate  // 返回当前hash rate
miner.setExtra("extra data")  // 在产生区块的时候设置额外的信息
miner.setGasPrice(gasPrice)   // 设置旷工的gasprice
miner.setEtherbase(account)   // 设置默认旷工账户,用于接受挖矿奖励 
3、personal对象
personal.newAccount(passwd) // 新建账户 personal.listAccounts // 列举所有账户 personal.deleteAccount(addr, passwd) // 删除账户 personal.unlockAccount(addr, passwd, duration) // 解锁账户,可以限定时间,解锁期间可以进行交易
4、txpool对象
txpool.status // 返回挂起和排队中的交易的数量
5、debug对象
debug.setHead(blockNumber) // 根据区块序号设置区块头,用于回滚 debug.seedHash(blockNumber) // 返回目标区块所在的epoch的hash debug.processBlock(blockNumber) // 使用debug模式的VM执行block debug.getBlockRlp(blockNumber) // 返回区块的Rlp编码的十六进制 debug.printBlock(blockNumber) // 打印区块信息 debug.dumpBlock(blockNumber) // 返回相应区块的状态并返回账户列表
6、eth对象:源自web3.eth
// 一些web3之外的eth方法 eth.sign(signer, data) eth.pendingTransactions // 返回pending的交易 eth.resend(tx, <optional gas price>, <optional gas limit>) // 重新发送pending的交易
7、net对象:源自web3.net
8、shh对象:源自web3.shh
9、db对象:源自web3.db
10、其他JavaScript方法
loadScript('/path/to/myfile.js') // 载入js脚本并执行
sleep(s)  // 睡眠s秒
setInterval(s, func() {}) 
                        
                        
            
            
            web3.js有0.2版本和1.0版本的区别,本文列出的是web3.js 1.0版本提供的api。首先,需要注意web3.js的如下几个注意事项:1、使用callbacksweb3.js的A ...