Free Bitcoins: FreeBitcoin | BonusBitcoin
Coins Kaufen: Bitcoin.de | AnycoinDirekt | Coinbase | CoinMama (mit Kreditkarte) | Paxfull
Handelsplätze / Börsen: Bitcoin.de | KuCoin | Binance | BitMex | Bitpanda | eToro
Lending / Zinsen erhalten: Celsius Network | Coinlend (Bot)
Cloud Mining: Hashflare | Genesis Mining | IQ Mining
Ich bin ein Anfänger in der Entwicklung intelligenter Verträge (Nov. 2017) und lerne immer noch jeden Tag, während ich bei der Entwicklung eines intelligenten Vertrags für Asset Management Fortschritte mache. Ich wollte diese Woche schnell einige meiner Ergebnisse mitteilen.
Das Beispiel, das ich hier habe, beinhaltet einen Käufer und einen Verkäufer, der einen Treuhandvertrag zwischen den beiden Parteien abgeschlossen hat. Wei ist die Standardeinheit für die Aufrechterhaltung der Mittel in Smart Contract. Stellen Sie daher sicher, dass die Einheitenumrechnung überall dort erfolgt, wo dies erforderlich ist.
- Der Käufer kauft einen Vermögenswert bei ether, der Vertrag hält das Geld, bis der Käufer bestätigt, dass der Vermögenswert erhalten wurde (Ether in Vertrag übertragen).
- Sobald der Käufer die Lieferung des Vermögenswerts bestätigt, werden die Gelder an den Verkäufer freigegeben (Transfer Ether vom Vertrag an eine Adresse).
- Wenn der Käufer den Artikel nicht erhält, erstattet der Vertrag dem Käufer den Äther zurück (Übertragen Sie den Äther vom Vertrag an eine Adresse).
Äther auf Vertrag übertragen
1. Payable Fallback-Methode.
function () zahlbar {
}
2. Die Methode, die Gelder akzeptiert, muss ein kostenpflichtiges Schlüsselwort haben. Wenn Sie den Fonds im Vertrag halten möchten, ist in der Methode kein Transfer / Send erforderlich ).
Funktion buyCollectible (uint _certNum)
zahlbar
kehrt zurück (bool success) {
collStructs[_certNum].status = "bezahlt";
collStructs[_certNum].buyerAddress = msg.sender;
return true;
}
3. Der Käufer kauft einen Vermögenswert durch Anruf bei der buyCollectible (uint). Ether kann während des Anrufs gesendet werden und der empfangene Ether wird in der Vertragsadresse gespeichert.
coll.buyCollectible (2, {from: web3.eth.accounts[3]
, value: web3.toWei (10, ’ether’)})
Sie können den Saldo des Vertrages überprüfen –
web3.fromWei (web3.eth.getBalance (contractAddress), ’ether’)
.toString ()
Übertragen Sie den Äther vom Vertrag an eine Adresse
1. Die Übertragung des Ethers vom Vertrag an eine Adresse ist unkompliziert. Verwenden Sie die Übertragungsmethode, indem Sie den Preis des Vermögenswerts übergeben. Hier wird der Preis in Wei angegeben. Sie können die Umrechnung von Einheiten in Äther durchführen, indem Sie den Preis mit 1 Äther multiplizieren (Preis * 1 Äther).
Funktion confirmCollRecv (uint _certNum)
Öffentlichkeit
gibt zurück (bool) {
destinationAddress.transfer (collStructs[_certNum].Preis);
collStructs[_certNum].status = "erhalten";
return true;
}
2. Der Käufer bestätigt den Erhalt eines Vermögenswerts durch Aufrufen der oben genannten Methode und durch Freigabe des Betrags an den Verkäufer.
coll.confirmCollRecv (2, {from: web3.eth.accounts[3]})
Sie können den Kontostand des Vertrags und der Zieladresse überprüfen, um zu bestätigen, dass der Betrag überwiesen wurde.
web3.fromWei (web3.eth.getBalance (contractAddress), ’ether’)
.toString ()
web3.fromWei (web3.eth.getBalance (destinationAddress), ’ether’)
.toString ()
Hoffe das hilft. Danke fürs Lesen!
Free Bitcoins: FreeBitcoin | BonusBitcoin
Coins Kaufen: Bitcoin.de | AnycoinDirekt | Coinbase | CoinMama (mit Kreditkarte) | Paxfull
Handelsplätze / Börsen: Bitcoin.de | KuCoin | Binance | BitMex | Bitpanda | eToro
Lending / Zinsen erhalten: Celsius Network | Coinlend (Bot)
Cloud Mining: Hashflare | Genesis Mining | IQ Mining