Dapps

如何向我的去中心化應用程序的每個使用者收取費用?

  • January 21, 2022

我只是在學習如何建構一個去中心化的應用程序,我有一個問題。假設我想向每個使用者收取 1 ETH 的費用以使用該應用程序。如果他們不付錢,他們就不能使用我的應用程序。

在允許他們使用我的應用程序之前,我將如何向使用者收費並強制他們支付了這筆費用?

添加到@Medici 的答案,您可以為您的所有功能創建一個修飾符,這樣只有付費使用者才能呼叫它們。

pragma solidity ^0.8.0;

contract PayedService {

   mapping (address => bool) public isCustomer;

   modifier onlyCustomer(){
       require(isCustomer[msg.sender]);
       _;
   }

   function becomeCustomer() payable external {
       require(msg.value == 1 ether);
       isCustomer[msg.sender] = true;
   }
   
   function doSomething() public onlyCustomer{
       // some function
   }

}

在這種模式下,使用者必須支付 1 ETH 才能成為客戶,然後才能與其他功能進行互動。

引用自:https://ethereum.stackexchange.com/questions/119518