Dapps
如何向我的去中心化應用程序的每個使用者收取費用?
我只是在學習如何建構一個去中心化的應用程序,我有一個問題。假設我想向每個使用者收取 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 才能成為客戶,然後才能與其他功能進行互動。