主页 > imtoken官网下载3.0版本 > 如何创建和签署以太坊交易?

如何创建和签署以太坊交易?

imtoken官网下载3.0版本 2023-04-20 06:20:43

由于所有数字资产都是通过交易创建的,因此签名在任何区块链中都起着至关重要的作用。 在本文中,我们将向您展示如何签署以太坊交易,并探讨如何使用这些数字签署操纵数字资产等的操作。

交易 - 旧交易,新交易

区块链交易与银行交易没有区别吗? 如今,大多数银行都可以轻松地使用数字方式向某人汇款、将钱存入您的储蓄账户,甚至贷款。 互联网时代使我们能够在线执行大部分此类操作,而无需任何物理交互。

尽管它们易于使用,但这些操作对银行来说远非简单且便宜。 在幕后,多个第三方参与您的银行业务的清算、验证和验证,同时保持对银行法规的遵守。

金融机构必须采取冗长的步骤来确保您确实是被授权操作您帐户的个人。 所有这些层级都会产生大量成本,这也是 Visa 或万事达卡等支付网关通常根据交易金额对每次购买收取费用的众多原因之一。 当然,这些操作可以随时随地冻结,也可以在特定情况下恢复。

以太坊怎么交易买卖_以太坊买卖_新加坡以太坊交易网站

以太坊买卖_新加坡以太坊交易网站_以太坊怎么交易买卖

区块链交易的行为遵循一套不同的规则

新加坡以太坊交易网站_以太坊怎么交易买卖_以太坊买卖

此外,区块链交易不需要任何中央机构的验证。 为了使交易有效,只需使用与其区块链对应的数字签名算法 (DSA) 使用私钥对其进行签名即可。 以太坊和比特币区块链使用 ECDSA 算法,而 Cardano 或 Polkadot 等其他项目则依赖 EdDSA 算法。

两者都依赖于椭圆曲线,而后者使用扭曲的爱德华兹曲线,这是对常见数字签名的改进。 虽然任何私钥都可以用来签署交易,但只有当与用于签署交易的私钥关联的账户包含足够的资金时,转账交易才会成功执行。

新加坡以太坊交易网站_以太坊怎么交易买卖_以太坊买卖

以太坊买卖_新加坡以太坊交易网站_以太坊怎么交易买卖

一旦交易被签署、广播到网络并在网络中被挖掘成一个成功的区块,就没有办法恢复交易。 与银行业务不同以太坊怎么交易买卖,成功挖掘的区块链交易无法恢复或恢复到之前交易的状态。 大多数公共区块链交易的性质使它们可见,因此,用于这些交易的区块链是这些资产的最终真相来源。

以太坊交易结构

现在我们对区块链交易的性质有了很好的了解,我们准备创建我们的第一个基于以太坊的交易。 我们将从一个简单的转账交易开始:0.1 ETH 到地址。

0x17A98d2b11Dfb784e63337d2170e21cf5DD04631

以太坊买卖_以太坊怎么交易买卖_新加坡以太坊交易网站

交易可以使用 Java Object Notation (JSON) 来描述,因此在创建交易时,使用 MyEtherWallet(通过离线发送登录后),如下所示:

然后弹出几个值:nonce、gasLimit、gasPrice、data、chainId。 这与我们交易的内容无关,而与我们的交易执行方式有关。 这是因为在以太坊中发送交易时,你必须定义一些额外的参数来告诉矿工如何处理你的交易。 我们交易中的两个属性涉及“gas”,这是一种计算工作量,必须支付给以太坊矿工才能将交易提交到区块链网络。

一个是 gasPrice(以 Gwei 为单位表示,等于 1/10 是以太坊的原生代币 Ether),另一个是 gasLimit,这是您在交易中允许使用的最大 gas 量。 这些值可以从以太坊节点估算,因此通常由钱包提供商自动填写。

以太坊怎么交易买卖_以太坊买卖_新加坡以太坊交易网站

除了 gas 参数之外,您还必须指定该交易将在哪个特定的以太坊网络上执行。 以太坊网络包括 chaidId 为 1 的主网(mainnet),但由于可以通过在线水龙头请求或资助测试网 ETH,因此可以向您提交交易的其他测试网(testnet)没有任何经济价值的风险。 通常,在开发 Dapp 时,您首先会在本地网络上运行它,然后将其部署到测试网,作为进入主网之前的最后一步。

新加坡以太坊交易网站_以太坊怎么交易买卖_以太坊买卖

最后但同样重要的是,我们有数据和随机数,如果您需要提交一些其他数据,您可以将其作为交易的一部分附加。 与智能合约交互时,数据字段将包含您对该合约的说明。

随机数(“只使用一次的数字”)是以太坊网络用来跟踪交易的值,有助于避免网络中的双重支出和重放攻击。 有时交易由于低 gas 价格而卡在网络中,因此以更高的价格广播交易,但在矿工接管后,相同的 nonce 有效地“替换”了网络中的待处理交易(一旦“慢”可以看到“”交易,因为它与批准的交易具有相同的随机数,它将被拒绝)。

签署以太坊交易

抓住我们之前的 JSON,我们终于可以继续进行签名过程了。 正如我们提到的,这个过程涉及 ECDSA 算法。 要使用 ECDSA 签署交易,我们将使用流行的 ethers.js 库,它已经包装了对椭圆曲线包的必要调用以太坊怎么交易买卖,以便将 secp256k1 曲线与 ECDSA 算法一起使用。

以太坊怎么交易买卖_以太坊买卖_新加坡以太坊交易网站

以太坊怎么交易买卖_以太坊买卖_新加坡以太坊交易网站

您可以在 Runkit 中在线测试此代码,并使用您的私钥将其与 MyEtherWallet (MEW) 的结果进行匹配。

结果代表您签署的交易,可以广播到以太坊网络。

您可以直接使用 MEW 或 Alchemy 的在线实用程序 Composer,它允许您使用 RPC API 方法 eth_sendRawTransaction 将已签名的交易传递到以太坊网络,以便与以太坊节点进行通信。

现在签约,稍后转让

如上所述执行的交易签名称为“离线签名”。 由于我们的私钥在我们的控制之下,我们可以使用以太坊帐户创建签名验证,然后将其广播到以太坊网络。 许多在线钱包同时进行签名和广播(例如 Metamask、Portis)。 然而,离线签名对于状态通道等应用程序特别有用,状态通道是跟踪两个账户之间余额的智能合约,一旦提交已签名的交易,资金就可以转移。

链下签名也是去中心化交易所 (DEXes) 中的常见做法,其中买卖订单存储在链下,只有在匹配符合先前签名交易的订单时才会在链上结算。返回搜狐查看更多