火星链 火星链
Ctrl+D收藏火星链
首页 > Luna > 正文

ETH:在以太坊上部署智能合约和管理交易

作者:

时间:1900/1/1 0:00:00

要在以太坊上构建去中心化应用,你需要知道如何发送交易、签名并广播到网络。通过交易可以转移以太币、部署自己的合约以及与其他智能合约交互。在本教程中,我们将向你演示如何放心地执行这些操作,并介绍一些有助于简化开发工作流的相关代码库和命令。

创建以太坊交易

交易是指在区块链上改变状态的操作。发送以太币、代币以及创建或使用智能合约中的函数都属于交易。如果你对以太坊中的交易还不太熟悉,可查看这些有关账户、合约以及以太坊交易类型的实用介绍。

在本文的代码库中,你还将找到一系列脚本,向你演示如何使用下面两种最常用的Javascript库与以太坊交互:web3

}

该合约有一个函数,任何人都可以使用message进行调用。它将触发一个事件,该事件回传输入的message。

合约编译

在网络上部署合约之前,我们需要先编译合约。这里包含一个简单的compile.js脚本可用于此目的:

nodecompile.js

编译合约后,在主目录中将显示一个Demo.json文件。该文件包括合约字节代码以及合约交互所必需的应用程序二进制接口(ABI)。

合约部署

下面这些部署脚本对ethers.js和web3.js均适用。运行其中的任何脚本都可以部署合约:

nodeethers/deploy.js#或nodeweb3/deploy.js

DeFi协议xWin在以太坊和BSC上推出新版升级机器人顾问平台xWIN Finance v2:金色财经报道,DeFi 协议 xWin 宣布在以太坊和 BSC 上推出新版升级机器人顾问平台 xWIN Finance v2,该平台可以帮助对冲基金或投资者通过 xWIN Robo Advisor 引擎并根据风险偏好创建自己的去中心化基金,并支持包括构建个人储备库、将各种交易或 DeFi 策略集成到一个投资组合在内的多项功能。(madrastribune)[2023/1/16 11:13:53]

部署合约后,你将收到交易哈希。你可以使用区块浏览器或getTransaction()和eth.getTransactionReceipt()进行检查。矿工挖到部署交易后,脚本将输出新合约的地址。

合约交互

部署合约后,你可以与合约交互。你需要通过将合约地址传递到to参数,并传递一些数据告诉合约如何执行data参数,来执行交易。

Web3实用程序库为你提供用于签发合约的高层接口,并且为你生成data参数。

下面简单解释这些库的背后操作:data字段的第一部分是与所调用的合约方法关联的函数选择器。我们可以通过获得函数名称哈希的前4个字节及其括号内的参数类型来计算函数选择器。例如,字符串transfer(address,uint256)可以散列到4字节函数签名0xa9059cbb中。函数签名与RLP编码的函数参数连接,构成交易data字段。有关合约ABI规范和参数编码工作的更多信息,请参阅SolidityABI规范。

Liquity主网已在以太坊上启动:据官方消息,DeFi借贷协议Liquity主网已于今日上线以太坊网络。[2021/4/5 19:47:46]

下面这些合约交互脚本对ethers.js和web3.js均适用。这些脚本配置为与已有的合约交互,但你可以编辑ethers/call.js的这一行或web3/call.js的这一行,然后将其替换为你部署合约的地址。

你现在可以运行:

nodeethers/call.js#ornodeweb3/call.js

恭喜!你已经部署了以太坊智能合约并和它交互。你现在可以继续构建一些精彩内容!

Infura为开发者提供对以太坊和IPFS网络的快速可靠访问。我们提供免费核心服务以及开发者构建去中心化应用所需的一切工具和资源。

衷心感谢_LucianBoca_对本指南的编写做出的广泛贡献。有关更多_Web3_教程。

参考资料

有关账户、合约以及以太坊交易类型的实用介绍:https://medium.com/@kctheservant/transactions-in-ethereum-e85a73068f74

在本文的代码库中:https://github.com/INFURA/demo-eth-tx

我们的技术指南,其中详细阐述了两者的相同点和不同点。:https://learnblockchain.cn/article/1851

Pax Treasury在以太坊网络销毁超2225万枚PAX:Whale Alert数据显示,北京时间3月5日04:25,Pax Treasury在以太坊网络销毁22,253,448枚PAX,销毁哈希为:0x25b635da73e48a1fdbc15bc40b7bd202235cb22f688af36a6f77b236a931036c。[2021/3/5 18:16:55]

以太坊合约ABI:https://learnblockchain.cn/docs/solidity/abi-spec.html

首选Web3库:http://blog.infura.io/ethereum-javascript-libraries-web3-js-vs-ethers-js-part-i/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts

EthSigner:https://docs.ethsigner.pegasys.tech/en/stable/

Metamask:https://metamask.io/

Gnosis:https://gnosis.io/

Argent:https://www.argent.xyz/

Pax Treasury在以太坊网络销毁超823万枚PAX:金色财经报道,Whale Alert数据显示,北京时间11月28日06:27,Pax Treasury在以太坊网络上销毁8230851枚PAX,销毁哈希为:0x775493140f9bbb56ac05c9259dfb4868f8faa560e68588eacc778ddd40424306。[2020/11/28 22:24:36]

WalletConnect:https://walletconnect.org/

在MetaMask中如何发送交易:https://docs.metamask.io/guide/sending-transactions.html#example

如何使用NodeJs创建交易、签名以及在不同账户间发送原始交易:https://medium.com/blockchain-musings/how-to-create-raw-transactions-in-ethereum-part-1-1df91abdba7c

eth_sendRawTransactionRPC调用:https://eth.wiki/json-rpc/API#eth_sendrawtransaction

eth_sendTransaction:https://eth.wiki/json-rpc/API#eth_sendtransaction

HyperledgerBesu:https://besu.hyperledger.org/en/stable/

动态 | Bitfinex将在以太坊伊斯坦布尔升级前暂停ETH及ERC20代币充提业务:据官方公告,Bitfinex将在以太坊伊斯坦布尔升级前的几个小时将暂停ETH及ERC20代币充值、提现业务,交易不受影响。[2019/12/6]

EthSigner:https://docs.ethsigner.pegasys.tech/en/stable/

eth_sendTransaction:https://docs.ethsigner.pegasys.tech/en/stable/HowTo/Transactions/Make-Transactions/#eth_sendtransaction

一位签名者:https://docs.ethsigner.pegasys.tech/en/latest/Tutorials/Start-EthSigner/

多位签名者:https://docs.ethsigner.pegasys.tech/en/latest/Tutorials/Multifile/

进行交易:https://docs.ethsigner.pegasys.tech/en/stable/HowTo/Transactions/Make-Transactions/

Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts

Node.js:https://nodejs.org/en/

Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts

使用ethers.js库:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/send.js

使用web3.js库:https://github.com/INFURA/demo-eth-tx/blob/master/web3/send.js

Truffle:https://learnblockchain.cn/docs/truffle/

Buidler:https://github.com/nomiclabs/buidler

Remix:https://remix.ethereum.org/

ethers.js:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/deploy.js

web3.js:https://github.com/INFURA/demo-eth-tx/blob/master/web3/deploy.js

函数选择器:https://solidity.readthedocs.io/en/v0.5.3/abi-spec.html#function-selector

SolidityABI规范:https://learnblockchain.cn/docs/solidity/abi-spec.html

ethers.js:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/call.js

web3.js:https://github.com/INFURA/demo-eth-tx/blob/master/web3/call.js

这一行:https://github.com/INFURA/demo-eth-tx/blob/master/ethers/call.js#L23

这一行:https://github.com/INFURA/demo-eth-tx/blob/master/web3/call.js#L25

Infura:https://infura.io/?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts

免费核心服务:https://infura.io/register?&utm;_source=infurablog&utm;_medium=referral&utm;_campaign=tutorials&utm;_content=tutorial:_deploy_contracts

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558541.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

标签:ETHHTTTPSAMPEthical翻译CHTT价格tps币行情bitstamp交易所官网提现

Luna热门资讯
DAI:假钱换真钱,揭秘 Pickle Finance 被黑过程

By:慢雾安全团队据慢雾区情报,2020年11月22日,以太坊DeFi项目PickleFinance遭受攻击,损失约2000万DAI.

1900/1/1 0:00:00
ITA:Vitalik Buterin:解析 PoS 与 PoW 机制安全性优劣

总体而言PoS系统仍然利大于弊:更高的效率、应对攻击并从攻击中复原的能力更强。原文标题:《Vitalik:权益证明vs.工作量证明(2020年11月)》撰文:VitalikButerin,以太坊.

1900/1/1 0:00:00
LANA:浅谈fileocin/Fil币价不涨不跌,这是为什么?——UNI

这里是IPFS资讯快车,想进filecoin技术交流群的以及与圈内大佬深入沟通,或者了解更多FIL资讯,深入了解FIL的(+V:FIL101).

1900/1/1 0:00:00
以太坊:理解以太坊上的事件日志

译文出自:登链翻译计划译者:Tiny熊序言:先阅读一下以太坊虚拟机,可能会有所帮助,在本文中,我会跳过基础知识直接研究。在传统编程中,应用程序经常使用日志来捕获和描述特定时刻的情况.

1900/1/1 0:00:00
DAPP:以太坊 2.0 正在进行中,而 DeFi 领域也涌现出了更多麻烦

12月到了,很多人对2020年的即将结束和2021年的开始而兴奋不已。这一周从以太坊2.0发布到治理NFT.

1900/1/1 0:00:00
ITA:Vitalik Buterin:论区块链验证去中心化与效率权衡

区块链如何在避免过度中心化的同时保障验证效率?原文标题:《VitalikButerin:区块链验证的哲学》撰文:VitalikButerin,以太坊联合创始人编译:洒脱喜区块链最强大的特性之一.

1900/1/1 0:00:00