Bereitstellung eines Smart Contracts mit DApp

Ich bin neu in der Entwicklung von DApps auf der Ethereum-Blockchain. Ich möchte ein Vertragsverwaltungssystem erstellen, in dem Benutzer mit meiner Webanwendung ihre eigenen Token und Crowdsale generieren können. Ich kann mit einem bereits bereitgestellten Vertrag interagieren, aber ich weiß es nicht

  1. wie jemand seinen Crowdsale mit meiner DApp bereitstellen kann.
  2. Ich habe keine Ahnung, wie ich mit meiner Anwendung und schließlich eine Verbindung mit dem Metamask- und Benutzerkonto herstellen kann
  3. wie diese Webanwendung auf einem Server und einer Domäne bereitgestellt wird.

Jede Hilfe wird geschätzt. Danke

Antworten (2)

1) wie jemand seinen Crowdsale mit meiner DApp bereitstellen kann.

Sie können den Vertrag über WebUI mit Web3.js oder Truffle bereitstellen.

Ich habe keine Ahnung, wie ich mit meiner Anwendung eine Verbindung zum Metamask- und Benutzerkonto herstellen kann

Sie können Metamask mit dem folgenden Code in Ihre Webanwendung integrieren.

$(function () {  // equivalent to $(document).ready(...)
if (typeof(web3) === "undefined") {
error("Unable to find web3. " +
      "Please run MetaMask (or something else that injects web3).");
} else {
log("Found injected web3.");
web3 = new Web3(window.web3.currentProvider);
...
}   
});

3) wie diese Webanwendung auf einem Server und einer Domäne bereitgestellt wird.

Verwenden Sie AWS-Services zum Hosten der Benutzer-Website und Route 53 zum Zuordnen des Domänennamens zur EC2-Instance.

Im ersten Schritt möchte ich einen Token-Vertrag bereitstellen, aber ich möchte die Variablen wie Token-Name, Symbol und Dezimalzahl von einer GUI (Webschnittstelle) angeben und diesen Vertrag von derselben GUI aus bereitstellen, indem ich eine Schaltfläche zum Bereitstellen drücke. Irgendeine Idee dazu?
Ja, Sie können dies erreichen, indem Sie web3.js und das neue Schlüsselwort im Soliditätsvertrag verwenden.
Ich kann mit einem bereitgestellten Vertrag mithilfe von WebUI und web3.js interagieren, aber ich finde es schwierig, einen Vertrag mithilfe von WEB UI und web3.js bereitzustellen. Bitte geben Sie mir dafür einen soliden Link.

Zuerst müssen Sie Token- und Crowdsale-Smart-Contracts schreiben und kompilieren. Dadurch erhalten Sie abi und bytecode.

Dann können Sie Verträge von Ihrer DApp mithilfe der Web3-API bereitstellen. Dies geschieht in zwei Schritten:

  1. Konstruieren Sie den Vertragsgegenstand wie folgt: var myContract = new web3js.eth.Contract (abi). Für diesen Schritt benötigen Sie die ABI Ihres Smart Contracts, die in JSON verpackt ist, wie vom Solidity-Compiler generiert.
  2. Öffentliche Bereitstellungsvertragstransaktion wie folgt: await myContract.deploy ({data: bytecode, arguments: [parameters]}).send ({from: account, gas: 1000000}). Für diesen Schritt benötigen Sie den vom Solidity-Compiler generierten Vertrags-Bytecode, Konstruktorparameter (Sie können hier Name, Symbol, Dezimalstellen usw. übergeben) und das Konto, von dem aus die Deployment-Transaktion veröffentlicht werden soll.

Die Verwendung von Metamask-Konten von DApp wird in Metamask FAQ behandelt . Dadurch erhalten Sie web3jsein Objekt, das Sie verwenden können. Benutzerkonten sind verfügbar als web3js.eth.accounts. Beachten Sie, dass der Benutzer Ihrer DApp wahrscheinlich ausdrücklich erlauben muss, auf seine Konten zuzugreifen.

Zur Bereitstellung können Sie Ihre DApp als Schnellstart auf GitHub-Seiten hosten und dann eine Domain kaufen, z. B. bei Google Domains oder bei einem anderen Domain-Registrierungsdienst.