购买产品的识别

时间:2018-01-01 13:09:00

标签: blockchain ethereum solidity smartcontracts go-ethereum

我在测试网络上创建了硬币。现在的困惑是,

我已经向100名会员发放了硬币,他们可以使用这些硬币在我的平台上购买数字产品(域名)。现在,如果所有域名以10美元(100个硬币)的价格出售,并且多个域名已售出,则会产生混淆。 ,我如何识别哪个用户向我付款。因为所有用户都可以看到我的钱包地址。有没有办法检测到哪个购买产品付款?

2 个答案:

答案 0 :(得分:1)

让你的钱包成为智能合约。

然后检查应付的后备功能。只要有人向您的合同发送以太,就会调用该函数。

function () payable {
    address guyWhoPaiedMe = msg.sender;
  }

要弄清楚谁向你发送了以太使用msg.sender。

答案 1 :(得分:1)

您可以将特定产品的标识符作为事务的输入数据传递。在这种情况下,很容易识别付款所针对的产品。

web3.eth.sendTransaction web3.eth.sendTransaction(transactionObject [,callback])

向网络发送交易。

参数 1. Object - 要发送的事务对象: •from:String - 发送帐户的地址。如果未指定,则使用web3.eth.defaultAccount属性。 •to:String - (可选)消息的目标地址,未定义为合同创建事务。 •value:Number | String | BigNumber - (可选)为Wei中的事务传输的值,如果它是合同创建事务,也是禀赋。 •gas:Number | String | BigNumber - (可选,默认:待定)用于交易的气体量(未使用的气体将被退还)。 •gasPrice:Number | String | BigNumber - (可选,默认:待定)wei中此交易的天然气价格,默认为平均网络天然气价格。 •data:String - (可选)包含消息的关联数据的字节字符串,或者在合同创建事务的情况下,是初始化代码。 •nonce:Number - (可选)nonce的整数。这允许覆盖使用相同nonce的自己的挂起事务。 2.功能 - (可选)如果传递回调,则HTTP请求将成为异步。有关详细信息,请参阅此说明。

返回

String - 32字节事务哈希为HEX字符串。