Ethereum Wallet "The DAO" Token Watch Widget zeigt mehr Token an, als ich tatsächlich habe

Ich verwende Ethereum Wallet 0.7.3 auf OSX El Capitan. Wenn ich zur DAO-Hub-Seite gehe, um mein Token-Guthaben zu überprüfen, wird es angezeigt

Besitz von DAO-Token: 3591,5

In Ethereum Wallet zeigt das Token-Widget 3701,5 DAO-Token an.Screenshot des DAO-Token-Widgets

Aber wenn ich zu meiner DAO-Kontoansicht in Ethereum Wallet gehe, zeigt es mir die richtige (3591,5) Token-Anzahl.

Screenshot des Ethereum Wallet-Kontos

Ich habe nur zwei Konten in meiner Ethereum-Wallet geladen, eines, mit dem ich ETH an die DAO gesendet habe, und mein Mining-Konto. Ich habe überprüft, dass das Mining-Konto keinem DAO-Token auf der DAO-Hub-Seite zugeordnet ist . Also sind alle Token, die ich habe und die in diesem Widget angezeigt werden sollen, mit dem ersten Konto verknüpft.

Ich habe einen Blockchain-Explorer verwendet , um den an die DAO gesendeten Betrag (mit 3 tx) erneut zu überprüfen, und es sind 35.915 ETH, also sind 3591,5 DAO-Token die richtige Zählung.

Jemand erlebt diese seltsame Sache? Wie ist der Unterschied zu erklären?

Vielen Dank.

Antworten (4)

Die DAO-Adresse besitzt nun tatsächlich 100 (110?) Tokens. Dies liegt höchstwahrscheinlich daran, dass jemand beim Senden einer Transaktion das Datenfeld verwendet, um die Token an die DAO-Adresse zu senden.

Grundsätzlich gibt es eine Funktion, die für Benutzer gedacht ist, die von einer Börse aus senden möchten. Wie Sie (hoffentlich) wissen, können Sie nicht direkt von einer Börse senden, da die DAO-Tokens an die Absenderadresse zurückgeschickt werden, die in diesem Fall die Hot Wallet von Kraken oder Poloniex oder wem auch immer wäre. Sie würden Ihre Token nicht erhalten.

Sie können jedoch einige Daten zum Datenfeld hinzufügen, das besagt: „Hey Vertrag! Senden Sie die Token nicht an diese Adresse zurück! Senden Sie sie stattdessen an diese Adresse!“. Jede Adresse kann vom Benutzer in dieses Datenfeld eingegeben werden, und es scheint, als hätte jemand die Adresse des DAO anstelle einer von ihm kontrollierten Adresse eingegeben.

Es kann ein Fehler gewesen sein, oder jemand hat sich gefragt: „Was würde passieren, wenn ich DAO-Tokens an das DAO schicke?! LOL!“

Die Antwort auf die letztere Frage: Alle sind jetzt super verwirrt darüber, warum sie mehr DOA-Token haben, als sie dachten. (LOL!)

Ich schätze also, der Eigentümer des DAO-Vertrags könnte diese Token übertragen, nachdem die DAO-Finanzierung beendet ist, und dafür sorgen, dass alle Kontostände wieder normal angezeigt werden. Ich würde sie diese Token für ihren eigenen Profit behalten lassen, wenn sie das richtige Gleichgewicht wiederherstellen. Wie besitzt diese Schlüssel?
Es gibt keine Schlüssel. Es ist ein Vertrag. Obwohl der Vertrag Maßnahmen zum Senden von ETH enthält (einen angenommenen Vorschlag usw. bereitstellen), bin ich mir nicht sicher, ob / wie mit den Token interagiert werden könnte.
sind sie für immer verloren?

Wenn Sie auf Verträge -> „The DAO“ klicken, sollte Ihnen angezeigt werden, dass „The DAO“ ein Token-Guthaben von 110 Ð hat.

Dieses Token-Guthaben ist mit dem „The DAO“ 0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413-Konto verknüpft und Ethereum Wallet hat diesen Betrag zu Ihrem Gesamtguthaben hinzugefügt.

3.591,5 + 110 = 3.701,5 .



Ich konnte keine definitive Quelle finden, die die zusätzlichen mit dem 0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413Konto verbundenen Token erklärt, aber von https://forum.daohub.org/t/help-why-i-have-more-dao-than-i-actually -gekauft/1560/2 :

Es ist alles richtig. Das sind Ihre Konten 7,6k Token und die Token-Vertragsadresse besitzt 100 Token (jemand hat die Proxy-Funktion mit 1 eth verwendet, um das DAO dazu zu bringen, sich 100 Token zu kaufen - keine Ahnung warum). Der Adressbildschirm des Hauptvertrags zeigt nicht Ihre Tokens, sondern die Tokens dieser Adresse. Aber wenn Sie zuschauen, sehen Sie die Gesamtsumme aller Konten, die Sie verfolgen, also 7,7.000

Diese 110 € waren vor ein paar Tagen noch 100 €. Jemand muss weitere 0,1 ETH durch die Proxy-Funktion hinzugefügt haben.



BEARBEITEN 16.05.2016@tayvano - Anknüpfend an die Antwort des Teammitglieds .

Der Adresse des Absenders zugewiesene Token

Wenn Sie Ether auf normale Weise an TheDAO senden, ruft die Standardfunktion innerhalb des DAO-Vertrags die createTokenProxy()Funktion mit der Absenderadresse auf.

// The DAO contract itself
contract DAO is DAOInterface, Token, TokenCreation {
    ...
    function () returns (bool success) {
        if (now < closingTime + creationGracePeriod && msg.sender != address(extraBalance))
            return createTokenProxy(msg.sender);
        else
            return receiveEther();
    }
    ...


Der angegebenen Adresse zugewiesene Token

Wenn Sie stattdessen createTokenProxy()mit einer anderen Adresse als der des Nachrichtensenders anrufen, wird das TheDAO-Token der angegebenen Adresse zugewiesen.

Hier ist die TokenCreationInterfaceSchnittstelle mit dem Kommentar, der erklärt, wie eine andere Adresse als Token-Inhaber angegeben werden kann:

contract TokenCreationInterface {
    ...
    /// @notice Create Token with `_tokenHolder` as the initial owner of the Token
    /// @param _tokenHolder The address of the Tokens's recipient
    /// @return Whether the token creation was successful
    function createTokenProxy(address _tokenHolder) returns (bool success);
    ...

Und hier ist die Implementierung von createTokenProxy(_tokenHolder)mit der Anweisung balances[_tokenHolder] += token;:

contract TokenCreation is TokenCreationInterface, Token {
    ...
    function createTokenProxy(address _tokenHolder) returns (bool success) {
        if (now < closingTime && msg.value > 0
            && (privateCreation == 0 || privateCreation == msg.sender)) {

            uint token = (msg.value * 20) / divisor();
            extraBalance.call.value(msg.value - token)();
            balances[_tokenHolder] += token;
            totalSupply += token;
            ...
            return true;
        }
        throw;
    }
    ...

Wie von @Tjaden angemerkt, handelt es sich bei den zusätzlichen Daten, die mit der Transaktion gesendet werden, um einen Aufruf der Funktion createTokenProxy()mit der Adresse des DAO, die wahrscheinlich die zusätzlichen 110 Token erstellt hat.

Und es sind immer noch 110 Token. Aus der DAO-Kreation :Geben Sie hier die Bildbeschreibung ein


Anwendungsbeispiel createTokenProxy()_

Zufällig habe ich mir die folgende Transaktion 0xfb2d580342988f20c9bd4b756555d6139f55ab2e5df2c5f99886c6195221faee in meiner Antwort auf What is the address and balance of the extraBalance account angeschaut :Geben Sie hier die Bildbeschreibung ein

Die Transaktion stammt aus dem Poloniex-Wallet und enthält die zusätzlichen Daten 0xbaac530000000000000000000000000003f59b7e25819a64fc2f7199e89457593fe3500d.

Ich habe den folgenden Befehl eingegeben geth, um festzustellen, dass die ersten 4 Bytes der sha3()Funktion createTokenProxy()mit dem ersten Teil der zusätzlichen Daten übereinstimmen, so werden Funktionen in Transaktionen aufgerufen.

> web3.sha3('createTokenProxy(address)').substr(0, 10)
"0xbaac5300"

Poloniex verwendet diesen Funktionsaufruf, wenn Einzelpersonen The DAO-Token über den Bildschirm Poloniex - DAO-Token erstellen kaufen .

Vielen Dank. Ich frage mich, warum jemand das getan hat und was der Zweck dieser Token sein wird ... Das Dao besitzt sich selbst, seltsam.
Um es klar zu sagen, das Aufrufen einer Funktion eines Vertrags sind nur zusätzliche Daten, die mit der Transaktion gesendet werden.

Geben Sie hier die Bildbeschreibung ein

TheDAO besitzt jetzt 52174,8 DAO-Tokens.

Hier ist eine Tabelle aller Transaktionen, die an The DAO getätigt wurden. Wäre interessant herauszufinden, woher diese zusätzlichen Token kommen. EthSlurp - Herunterladbare Excel-Blockchain-Daten
Gibt es eine Möglichkeit, sie wieder in den realen Kreislauf zu bringen, indem man sie verkauft, um den Äther für wohltätige Zwecke zu spenden? Ansonsten gehen diese Token sowieso verloren.
Dies ist wirklich ein Kommentar, keine Antwort. Mit etwas mehr Repräsentanten können Sie Kommentare posten .

Dieser UI-Fehler wurde in der neuesten Version von Mist (0.7.5) behoben. Wenn dieses Problem weiterhin auftritt, führen Sie ein Upgrade auf die neueste Version durch.