如何将拍卖功能真正融入我的 daap?

Posted

技术标签:

【中文标题】如何将拍卖功能真正融入我的 daap?【英文标题】:how to actually make an auction functionality into my daap? 【发布时间】:2021-11-19 12:46:39 【问题描述】:

我一直在尝试创建一个具有拍卖物品功能的 NFT 市场。但我不知道如何通过签署交易来实现这一点。 我尝试使用几乎所有来自 web3.js 的 签名 方法,但它需要用户的私钥。 但是有一个函数web3.eth.signTransaction 不需要任何私钥来签署交易,但它会在控制台上给出错误。说:Error: The method 'eth_signTransaction' does not exist / is not available. 有人可以给我概述一下如何执行此签名和发送交易,以实现拍卖类似 nft 市场的 nft 的功能:opensea 或基金会。

【问题讨论】:

【参考方案1】:

来自docs:

签署交易。此帐户需要解锁。

它不需要私钥,但需要在节点上解锁帐户(用于签署交易)。这意味着节点需要持有私钥才能解锁帐户。

通常允许在本地节点(例如 Ganache 或私有节点)上使用。

Infura 等公共节点通常禁用此功能(因此错误消息“eth_signTransaction 不可用”),因为它们不存储您的私钥。


您可以要求用户使用他们的钱包签署交易。例如使用 MetaMask(或任何其他实现 Ethereum provider API 的钱包):

const transactionParameters = 
  from: ethereum.selectedAddress, // must match user's active address
  to: 'your address'
;

await ethereum.request(
  method: 'eth_sendTransaction',
  params: [transactionParameters],
);

【讨论】:

上面的函数实际上是执行交易的,但是我想签名以备后用。有没有其他方法可以做到这一点?

以上是关于如何将拍卖功能真正融入我的 daap?的主要内容,如果未能解决你的问题,请参考以下文章

php会员管理功能包括哪些?

如何将特征的不确定性融入机器学习算法?

商城拍卖活动设计方案

“宝藏”生产力平台Microsoft 365更新,融入更多AI功能

官方重磅:Filecoin存储拍卖最新进展

尝试在拍卖服务页面创建简单的菜单,有一些问题