【问题标题】:Is smartcontract the only way to transfer ether in Ethereum network?智能合约是以太坊网络中转移以太币的唯一方式吗?
【发布时间】:2021-11-28 23:11:10
【问题描述】:

我是智能合约的新手,并开始在 Solidity 中编写一些演示代码以使用 Ropsten 测试网络。我看到我可以在合约中使用send/transfer方法将以太币转移到其他账户。关于它的一个问题是,合约是转移以太币的唯一方式吗?我可以在没有合约的情况下转移以太币吗?

我了解contract 的概念,但不确定它是否是以太坊的必需品。当我将合约部署到网络时,它将位于一个新区块中,并且从该合约生成的所有交易都在同一个区块中?我理解正确吗?

【问题讨论】:

    标签: blockchain ethereum solidity smartcontracts


    【解决方案1】:

    您不需要智能合约来签署或发送交易。 ETH 的转移是内置在协议中的。如果您是开发人员,这可以通过使用诸如 web3 或 ethers 之类的库来完成。如果您不是开发人员,可以使用 Metamask 等工具来完成。

    使用 ethers.js 发送交易的步骤:

    1. 使用 ethers.providers 实例化您的提供者和签名者。和签名者。
    2. 然后使用 signer.signTransaction 签署交易。
    3. 使用 provider 通过 provider.sendTransaction 发送交易。

    参考资料:

    Ethers.js:https://docs.ethers.io/v5/api/

    web3.js:https://web3js.readthedocs.io/en/v1.5.2/

    元掩码:https://metamask.io

    【讨论】:

    • 谢谢。是的,我是一名开发人员,所以我可以做到这一点。如果我部署一个合约并且从合约中生成了一些交易,那么联系块是否包含所有交易?
    • @Joey Yi Zhao 是的,智能合约的以太坊地址将像任何其他以太坊地址一样列出执行交易的账本。
    • 当你说ledger时,是指以太坊区块链中的一个区块吗?对于同一个账本,所有其他交易都将在同一个区块中?
    • @JoeyYiZhao 不,我指的是与你的智能合约相关的交易列表
    • 所以账本在一个区块中,每笔交易都在自己的区块中?
    猜你喜欢
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2016-02-28
    • 2021-02-24
    • 2020-03-14
    相关资源
    最近更新 更多