EIP1559 Transactions

如何发送EIP1559事务

伦敦硬分叉引入了一个新的EIP,修改了在Polygon上进行交易的天然气估算和成本工作方式。

因此,在Polygon上发送事务时,事务对象的形成方式发生了变化。引入了一种名为type 2 transaction的新事务类型。遗留类型的事务仍然是兼容的,但建议改为新的风格。您可以导航到本文档的末尾,直接查看代码。

遗留事务如何工作

当你提交交易时,你也会发送一个汽油价格,这是你提供的每消耗汽油的金额。然后,当你提交交易,矿工可以决定包括你的交易或不基于你的天然气价格出价。矿商将优先考虑最高的天然气价格。

使用EIP1559发送类型2事务

这是一个类似的概念,天然气价格将分成一个基本费用和一个优先费用。 每个交易都需要支付基本费用,这是根据前一个区块的满额计算出来的。交易也可以提供给矿商优先费,以激励矿商将交易包含在区块中。

发送遗留事务

在伦敦分叉之前,只有天然气价格需要在遗留交易中被提及。

下面的代码示例显示了在Legacy方法中发送事务:

const sendLegacyTransaction = async () => {
    con dest web3 = new Web3('https://polygon-rpc.com');

    await web3.eth.sendTransactions({
        from: 0x05158d7a59FA8AC5007B3C8BabAa216568Fd32B3,
        to: 0xD7Fbe63Db5201f71482Fa47ecC4Be5e5B125eF07,
        value: 1000000000000000000,
        gasPrice: 200000000000
    })
}

发送EIP1559交易

添加maxPriorityFeePerGas字段

与gas:gasPrice组合最接近的类比是gas:maxPriorityFeePerGas。由于无论如何都需要支付baseFee,我们可以为矿工提交一个“提示”的出价。注意,Polygon Gas Station V2可以用来获得燃气费用估算。

下面的代码示例展示了在Type 2方法中发送事务:

// Example for
const sendEIP1559Transaction = async () => {
    const web3 = new Web3('https://polygon-rpc.com');

    await web3.eth.sendTransactions({
        from: 0xFd71Dc9721d9ddCF0480A582927c3dCd42f3064C,
        to: 0x8C400f640447A5Fc61BFf7FdcE00eCf20b85CcAd,
        value: 1000000000000000000,
        maxPriorityFeePerGas: 40000000000
    })
}

Polygon Gas Station V2可以用来获得Gas fee estimate。

Polygon加油站V2端点:

https://gasstation-mainnet.matic.network/v2

Polygon Gas Station V2:

{
    "safeLow": {
        "maxPriorityFee": 37.181444553750005,
        "maxFee": 326.2556979087
    },
    "standard": {
        "maxPriorityFee": 49.575259405,
        "maxFee": 435.00759721159994
    },
    "fast": {
        "maxPriorityFee": 61.96907425625,
        "maxFee": 543.7594965144999
    },
    "estimatedBaseFee": 275.308812719,
    "blockTime": 6,
    "blockNumber": 23948420
}

请阅读以下文章,以更好地理解发送EIP-1559交易:

全部评论(0)