Kann der Gesamtvorrat eines Tokens nach der Bereitstellung erhöht werden?

Nicht-Entwickler hier. Ich habe gerade den Blog-Beitrag von Pundi X über ihren geplanten bevorstehenden Token-Split gelesen und bin gespannt, wie sie dies umsetzen könnten:

https://medium.com/pundix/rc-request-for-comment-pxs-token-split-f43c77b77a0b

Sie planen, Token-Inhabern zusätzlich 999 PXS für jeden 1 PXS zu geben, den sie bereits besitzen. Das derzeitige Gesamtangebot von 36.104.947,59 PXS würde jedoch bei weitem nicht ausreichen, um die Anzahl der zusätzlich benötigten Token zu decken:

https://etherscan.io/token/0x358d12436080a01a16f711014610f8a4c2c2d233

Ich kann mir nicht vorstellen, dass es ihnen möglich wäre, das Gesamtangebot eines ERC20-Tokens nachträglich zu erhöhen. Ist dies möglich oder müssten sie einen zweiten Token mit 1000-facher Versorgung erstellen und diesen stattdessen im Verhältnis 1000:1 an aktuelle Token-Inhaber abwerfen?

Danke vielmals

Antworten (3)

Ein „Mintable“-Token hat eine Funktion, die es dem „Minter“ ermöglicht, neue Token auszugeben. Es ist eine einfache Arithmetik, die das Gesamtangebot erhöht und die neuen Token einer Adresse gutschreibt - normalerweise dem Minter.

Funktionen können nach der Bereitstellung nicht zu Verträgen hinzugefügt werden.

Wenn also in einem bereitgestellten Vertrag keine Minter-Funktion vorhanden ist, kann die Gesamtversorgung nicht erhöht werden. Wenn es eine Minter-Funktion gibt, dann hat sich der Autor die Option vorbehalten, das Angebot in Zukunft zu erhöhen.

In der Praxis implementieren Mintable-Token-Verträge oft einen irreversiblen AUS-Schalter. Der Münzführer kann den Schalter so einstellen, dass er anzeigt, dass das Prägen zu einem solchen Zeitpunkt beendet ist, wenn er zeigen möchte, dass keine weitere Ausgabe möglich ist. Zum Beispiel ein Flag - isMintable = false.

Ich hoffe es hilft.

Die Gesamtversorgung ist eine Variable in einem Smart Contract. Technisch gesehen können Sie also eine Funktion implementieren, die das Gesamtangebot erhöht (und dabei auch neue Token generiert).

Wenn sie dies im Voraus geplant haben, was sie wahrscheinlich getan haben, ist dies nur eine einfache Addition der Gesamtmenge für die Bereitstellung von Token.

uint public totalSupply = 100000;

function addTokenToTotalSupply(uint _value) public {
    require(_value > 0);
    balances[msg.sender] = balances[msg.sender] + _value;
    totalSupply = totalSupply + _value;
}
Wahrscheinlich einen Modifikator setzen, sonst ist es ein kostenloses Token für alle :)