Tokens

刻錄、凍結、解凍功能

  • December 6, 2020

我想知道這些功能的目的是什麼?你能給我一些例子嗎?

function burn(uint256 _value) returns (bool success) {
       if (balanceOf[msg.sender] < _value) throw;            // Check if the sender has enough
       if (_value <= 0) throw; 
       balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value);                      // Subtract from the sender
       totalSupply = SafeMath.safeSub(totalSupply,_value);                                // Updates totalSupply
       Burn(msg.sender, _value);
       return true;
   }

function freeze(uint256 _value) returns (bool success) {
   if (balanceOf[msg.sender] < _value) throw;            // Check if the sender has enough
   if (_value <= 0) throw; 
   balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value);                      // Subtract from the sender
   freezeOf[msg.sender] = SafeMath.safeAdd(freezeOf[msg.sender], _value);                                // Updates totalSupply
   Freeze(msg.sender, _value);
   return true;
}

function unfreeze(uint256 _value) returns (bool success) {
   if (freezeOf[msg.sender] < _value) throw;            // Check if the sender has enough
   if (_value <= 0) throw; 
   freezeOf[msg.sender] = SafeMath.safeSub(freezeOf[msg.sender], _value);                      // Subtract from the sender
   balanceOf[msg.sender] = SafeMath.safeAdd(balanceOf[msg.sender], _value);
   Unfreeze(msg.sender, _value);
   return true;
}

燒傷:

由開發人員定義功能

可以轉賬到地址(0)或從餘額中扣除代幣數量

謝謝,理查德!

凍結:鎖定資金,使其無法使用

解凍:解鎖之前鎖定的資金,以便再次使用

function burn(uint256 _value) returns (bool success) {
       if (balanceOf[msg.sender] < _value) throw;            // Check if the sender has enough
       if (_value <= 0) throw; 
       balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value);                      // Subtract from the sender
       totalSupply = SafeMath.safeSub(totalSupply,_value);                                // Updates totalSupply
       Burn(msg.sender, _value);
       return true;
   }

該功能會銷毀您的代幣。@Richard Horrocks 寫的不是真的。您只能燒掉自己的代幣,不能燒掉別人的代幣。例如,如果您正在進行 ICO 並擁有所有代幣,您需要支付已售出的代幣。有些人會保留剩餘的,未出售的代幣,這會給你一些你可能不應該得到的權力。使用此銷毀功能,您只需從餘額中刪除 _value(您之前輸入的),而不會將其轉移給其他人。這就像計算 10-5。它是 5 個,但其他 5 個已經消失了。使用此功能,除了您的代幣餘額之外,您不能從其他人處銷毀。

在我看來,凍結和解凍都沒有意義。根本沒有限制,例如您想凍結它們多長時間。這些功能對我來說似乎沒用。

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