Ergo und Crowdfunding

This page is machine-translated.
Robert Wolf

6. September 2019

Was ist Crowdfunding?

Crowdfunding ist eine Möglichkeit, Kapital durch die kollektiven Bemühungen von Einzelpersonen zu beschaffen. Die Kampagnen werden meist über das World Wide Web gestartet und ermöglichen es Projekten und Unternehmen, durch das Sammeln kleiner Geldbeträge von einer großen Anzahl von Menschen finanziert zu werden.
Eines der bekanntesten Beispiele für erfolgreiche Crowdfunding-Startups ist Oculus Rift, ein Virtual-Reality-Headset. Das Unternehmen Oculus VR startete seine Kampagne im Jahr 2012 und wurde nur zwei Jahre später von Facebook für insgesamt 2 Milliarden Dollar übernommen. Neben den üblichen Startups gibt es auch viele Blockchain-Projekte, die den Weg des Crowdfundings gegangen sind, zum Beispiel Ethereum, Tron und EOS. Heute gibt es zahlreiche Plattformen, die es Ihnen ermöglichen, Ihre Kampagne zu veröffentlichen. Einige der größeren sind Indiegogo, Kickstarter und Gofundme, um nur einige zu nennen.
Crowdfunding hat viele Vorteile: eine große Reichweite, Effizienz und Marketingaspekte sind die überzeugendsten... Aber jetzt kommen wir zu dem, was wirklich wichtig ist!

Einführung in Crowdfunding auf Ergo

Vor ein paar Tagen, am 28. August, erklärte der Hauptentwickler Kushti im (Ergo-Forum)[www.ergoforum.org], dass es ihm gelungen ist, erfolgreich Code zu schreiben und zu implementieren, der es Benutzern ermöglicht, eine Crowdfunding-Kampagne auf der Ergo-Blockchain zu starten (wie im Whitepaper Seite 6 erwähnt). Dieser Code funktioniert sogar mit der aktuellen Wallet-API. Hier finden Sie eine kurze Anleitung, wie Sie die Wallet einrichten.
In diesem Artikel erfahren Sie, wie Sie genau das tun: Crowdfunding auf Ergo! Es führt Sie auch durch den Vorschlag der ersten Kampagne überhaupt, die die Entwicklung des post-EIP1 Crowdfunding-Skripts finanzieren soll.
Wenn Sie in alle Details eintauchen möchten, lesen Sie bitte den folgenden Abschnitt „Das Skript“. Andernfalls können Sie einfach zu den Abschnitten „Wie man spendet“, „Wie man Spenden sammelt“ und „Vorschlag für ein Crowdfunding-Projekt“ unten springen.

Das Skript

Das einfachste Crowdfunding-Skript, laut dem ErgoScript White Paper (Seite 6), ist „ein Skript für die folgende Crowdfunding-Situation: ein Projektunterstützer (mit Schlüssel backerPubKey) möchte Geld an ein Projekt (mit Schlüssel projectPubKey) geben, aber nur, wenn das Projekt genug Geld (mindestens minToRaise) von anderen Quellen bis zu einer Frist (ausgedrückt in Bezug auf HEIGHT) sammelt.
Um Geld an das Projekt zu geben, wird der Unterstützer eine Ausgabebox erstellen, die durch das folgende Skript geschützt ist. Das Skript enthält zwei Bedingungen: eine für den Fall, dass die Frist abgelaufen ist (die es dem Unterstützer ermöglicht, das Geld zurückzubekommen) und eine für den Fall, dass es erfolgreich war (die es dem Projekt ermöglicht, das Geld auszugeben, wenn der Betrag mindestens minToRaise vor der Frist beträgt).

Um sicherzustellen, dass genug Geld gesammelt wurde, wird das Skript die Ausgabesammlung nach einer Box mit einem ausreichenden Wert suchen, die an projectPubKey geht. Um zu überprüfen, wohin der Wert der Ausgabebox geht, wird das Skript das Skript lesen, das die Ausgabebox schützt, und es mit dem Skript vergleichen, das zu proveDlog(projectPubKey) gehört; dieses Skript kann durch projectPubKey.propBytes erhalten werden.

Da die API derzeit keine Einbettung benutzerdefinierter Umgebungsvariablen unterstützt (nur vordefinierte wie HEIGHT), besteht die einzige Möglichkeit, das Skript zu kompilieren, darin, solche Variablen im Skript aus dem Whitepaper durch konkrete Werte zu ersetzen. Zum Beispiel, nehmen wir an, dass eine Crowdfunding-Kampagne erfolgreich ist, wenn sie 500 Ergs vor Blocknummer 50.000 sammelt. Für backerPubKey und projectPubKey können wir die PK()-Funktion verwenden, die derzeit nur P2PK-serialisierte Schlüssel akzeptiert. Dann wird das modifizierte Skript aus dem WhitePaper wie folgt:

{
   val backerPubKey = PK("9h7DHKSDgE4uvP8313GVGdsEg3AvdAWSSTG7XZsLwBfeth4aePG")
   val projectPubKey = PK("9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq") 
    
   val deadline = 50000
   val minToRaise = 500L * 1000000000 
   
   val fundraisingFailure = HEIGHT >= deadline && backerPubKey
   val enoughRaised = {(outBox: Box) =>outBox.value >= minToRaise 
                              && outBox.propositionBytes == projectPubKey.propBytes
                      }
        
   val fundraisingSuccess = HEIGHT < deadline && projectPubKey && OUTPUTS.exists(enoughRaised)
   fundraisingFailure || fundraisingSuccess                     
 }                              

Wie man spendet

Zunächst einmal unterstützt JSON keine mehrzeiligen Strings, daher müssen Sie Zeilenumbrüche durch \n ersetzen.
Außerdem müssen Anführungszeichen escaped werden, verwenden Sie also " anstelle von ". Das resultierende JSON wird an /script/p2sAddress gesendet.
Um einem Projekt zu spenden, holen Sie sich zuerst Ihre Adresse von /wallet/addresses, nehmen Sie z.B. die erste davon. Setzen Sie die Adresse in den backerPubKey, sodass eine Anfrage an /script/p2sAddress nach diesem Schritt wie folgt aussieht:

{
  "source": "{ 
    val backerPubKey = PK(\"9...\")
    val projectPubKey = PK(\"9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq\")
    val deadline = 50000
    val minToRaise = 500L * 1000000000
    val fundraisingFailure = HEIGHT >= deadline && backerPubKey
    val enoughRaised = {
      (outBox: Box) => 
        outBox.value >= minToRaise && outBox.propositionBytes == projectPubKey.propBytes
    } 
    val fundraisingSuccess = HEIGHT < deadline && projectPubKey && OUTPUTS.exists(enoughRaised) 
    fundraisingFailure || fundraisingSuccess 
  }"
}    

mit Ihrer Adresse anstelle von „9…“.

Senden Sie den String an /script/p2sAddress, um eine Antwort wie folgt zu erhalten:

{
  "address": "GB3kh2izpWKvyZfMboQwsEscjPaZcz9WrzGqZB4ZrkzRreiFMV6HZYWXGMK3rqCjDCoPgWGNzfnYSUhivW4a1VRYPE7uZXwKnBcqWcRkiuTx6QW55EcPcWeELUsumwdtKoFtWY583nWnKZff"
}     

Kopieren Sie die Adresszeichenfolge (GB3… in unserem Beispiel) und senden Sie das Geld an sie über /wallet/payment/send. Eine Anfrage an die API-Methode, um 10 Ergs (10 Milliarden nanoErgs) zu senden, wird wie folgt aussehen:

[
 {
   "address": "GB3kh2izpWKvyZfMboQwsEscjPaZcz9WrzGqZB4ZrkzRreiFMV6HZYWXGMK3rqCjDCoPgWGNzfnYSUhivW4a1VRYPE7uZXwKnBcqWcRkiuTx6QW55EcPcWeELUsumwdtKoFtWY583nWnKZff",
   "value": 10000000000
 }
]

Das ist alles!

Jetzt wird die Wallet automatisch die Box auf der Blockchain finden, da sie den öffentlichen Schlüssel enthält, der zur Wallet in der Rückerstattungsbedingung gehört. Die Wallet überprüft dann regelmäßig, ob die Box ausgebbar ist, indem sie eine einfachste Transaktion mit der Box als Eingabe und nur einem Ausgang (zur gleichen Adresse) konstruiert. Nach der Rückerstattungshöhe (50.000 in unserem Beispiel) wird die Wallet in der Lage sein, die Box auszugeben, und der Boxwert wird zu /wallet/balances hinzugefügt.
Bitte beachten Sie, dass dies nach der Implementierung von EIP-1 3 nicht der Fall sein wird, da die Wallet dann enge Erkennungsmuster verwenden wird.

Wie man Spenden sammelt

Die Wallet, die mit dem öffentlichen Schlüssel des Projekts verbunden ist, wird eingehende Boxen auf der Blockchain finden. Sie wird jedoch nicht in der Lage sein, sicherzustellen, dass die Boxen ausgebbar sind, da die Wallet derzeit eine einfachste Transaktion dafür verwendet, und das Skript bei einer solchen Ausgabetransaktion fehlschlägt.
Vor der Implementierung der Methode /wallet/boxes/uncertain war der einzige Weg für ein Projekt, eingehende Boxen zu finden. Dann /wallet/transaction/send mit manuell bereitgestellten (in „inputsRaw“) serialisierten Boxen (verwenden Sie /utxo/byIdBinary, um die serialisierte Box anhand ihrer Kennung zu erhalten).

Kushti hat das selbst gemacht und die folgende Transaktion erhalten.

Bitte beachten Sie, dass EIP-1 diesen Workflow ebenfalls unterbrechen wird.

Kushti schlägt vor, 500 Ergs vor Block 50.000 zu sammeln, um Befehlszeilenskripte (in Python) zur Organisation und Teilnahme an Crowdfunding-Kampagnen nach der Implementierung von EIP-1 zu entwickeln. Befehlszeilenskripte sind geeigneter als manuelle Anfragen und könnten auch zum Erstellen grafischer Schnittstellen verwendet werden.

Die Schatzkammer hat die Hälfte der Mittel bereitgestellt, sodass andere die fehlenden 250 Erg kollektiv beisteuern müssen. Im Falle eines Kampagnenfehlers werden Rückerstattungen automatisch gegeben. Da das Sammeln von Zusagen im Moment nicht trivial ist, wird Kushti die Projektrolle übernehmen, also verwenden Sie bitte den folgenden Schlüssel, der von ihm kontrolliert wird:

9gBSqNT9LH9WjvWbyqEvFirMbYp4nfGHnoWdceKGu45AKiya3Fq

Um einen beliebigen Geldbetrag zu spenden, folgen Sie bitte dem Abschnitt „Wie man spendet“ oben, indem Sie backerPubKey durch Ihren öffentlichen Schlüssel ersetzen und den Zusagebetrag mit einem entsprechenden Wert (bitte beachten Sie, dass es in nanoErgs ist, 1 Erg = 1.000.000.000 nanoErgs) ersetzen.

Wie immer, wenn Sie weitere Fragen, Vorschläge haben oder an der Bewegung teilnehmen möchten, treten Sie bitte unseren sozialen Medienkanälen oder dem Forum bei.

t.me/ergoplatform | t.me/ergo_mining | www.ergoforum.org

Share post

Ergo Infrastructure DAO: Dezentralisierung des Rückgrats des Ergo-Ökosystems

Ergo Infrastructure DAO: Dezentralisierung des Rückgrats des Ergo-Ökosystems

Die Mission von Ergo war schon immer in der Dezentralisierung verwurzelt, nicht nur auf der Konsensschicht, sondern über den gesam.

Ergo Platform

13. August 2025

Mew Finance: Ein verspieltes DeFi-Toolkit für das Ergo-Ökosystem

Mew Finance: Ein verspieltes DeFi-Toolkit für das Ergo-Ökosystem

Mew Finance ist eine dezentrale Anwendungs-Suite auf der Ergo-Blockchain.

Ergo Platform

12. August 2025

Lithos: Dezentralisierung des Minings mit On-Chain-Pools

Lithos: Dezentralisierung des Minings mit On-Chain-Pools

Lithos ist ein neues Protokoll, das darauf abzielt, die Funktionsweise von Mining-Pools zu revolutionieren, indem es sie on-chain .

Ergo Platform

24. Juli 2025

Sigma 6.0: Ein intelligenteres, flexibleres Ergo

Sigma 6.0: Ein intelligenteres, flexibleres Ergo

Sigma 6.0 ist ein bedeutendes vorgeschlagenes Upgrade für die Ergo-Blockchain.

Ergo Platform

23. Juli 2025

Die Zukunft von Rosen gestalten: Ein Gemeinschaftsaufruf zu fünf wichtigen Treasury-Vorschlägen

Die Zukunft von Rosen gestalten: Ein Gemeinschaftsaufruf zu fünf wichtigen Treasury-Vorschlägen

Der Mitbegründer von Rosen, Armeanio, hat fünf neue Vorschläge an die Rosen Treasury eingereicht.

Ergo Platform

9. Juli 2025

Ergos erweitertes UTXO und der Aufstieg der künstlichen wirtschaftlichen Intelligenz

Ergos erweitertes UTXO und der Aufstieg der künstlichen wirtschaftlichen Intelligenz

Eine praktische Vision für autonome wirtschaftliche Agenten Autonome wirtschaftliche Agenten auf der Ergo-Blockchain leisten nütz.

Ergo Platform

12. Mai 2025

ErgoHACK X: Künstliche Intelligenz auf der Ergo-Blockchain

ErgoHACK X: Künstliche Intelligenz auf der Ergo-Blockchain

Feier eines Jahrzehnts dezentraler Innovation Feiern Sie das 10-jährige Jubiläum von ErgoHACK und seien Sie an der Spitze der KI-R.

Ergo Platform

10. April 2025

Ergohack 9: Innovationen in UI/UX und Mining – Lernen Sie die visionären Gewinner kennen!

Ergohack 9: Innovationen in UI/UX und Mining – Lernen Sie die visionären Gewinner kennen!

Der letzte jährliche Ergo-Hackathon, ErgoHack IX, war eine sechstägige Veranstaltung, die Ende Oktober stattfand.

Ergo Platform

9. Dezember 2024

ErgoHack IX: Nächste Schritte zur erhöhten Akzeptanz

ErgoHack IX: Nächste Schritte zur erhöhten Akzeptanz

Wir haben einen langen Weg seit den frühen Tagen von Bitcoin zurückgelegt, und Kryptowährungen haben sich zu einer Branche mit Tau.

Ergo Platform

20. Oktober 2024

Ergo Vs Andere Blockchain-Plattformen: Was ist der Unterschied?

Ergo Vs Andere Blockchain-Plattformen: Was ist der Unterschied?

Ergo bietet eine Reihe einzigartiger Funktionen, die es von anderen Blockchain-Plattformen abheben.

Ergo Platform

19. August 2024

Verdienen Mit Der Rosen Brücke

Verdienen Mit Der Rosen Brücke

Bitcoin hat offiziell die Ergo-Ökosystem über die Rosen Brücke verbunden! Diese neu gebaute, dezentrale Infrastruktur ermöglicht v.

Ergo Platform

8. August 2024

Verdienen Mit Der Rosen Brücke

Verdienen Mit Der Rosen Brücke

Bitcoin hat offiziell die Ergo-Ökosystem über die Rosen Brücke verbunden! Diese neu gebaute, dezentrale Infrastruktur ermöglicht v.

Ergo Platform

8. August 2024

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Ergos leistungsstarke, flexible und sichere Smart-Contract-Funktionalität öffnet die Tür zu einer ganzen Reihe neuer Anwendungsfäl.

Ergo Platform

15. Juli 2024

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Wie Sigma Chains Bitcoin zu Ergo bringen werden

Die leistungsstarke, flexible und sichere Smart-Contract-Funktionalität von Ergo öffnet die Tür zu einer ganzen Reihe neuer Anwend.

Ergo Platform

15. Juli 2024