Go-Ethereum

如何託管區塊鏈應用程序?

  • July 2, 2018

過去幾週我開始在區塊鏈領域工作。我使用 geth 在我的系統中創建了一個私有區塊鏈,並使用 admin.addPeer() 命令添加了對等點。我還創建了一個使用此區塊鏈的應用程序。在我的應用程序中,我使用 web3 從前端連接到區塊鏈,並且我還編寫了一些智能合約來控制該應用程序的活動。畢竟,我還編寫了一個智能合約(ERC 代幣)來創建用於在該應用程序中支付的加密貨幣。當我託管在我的私人網路中時,它執行良好。但現在我想將它託管到另一台伺服器上,以便我們可以在任何地方使用該應用程序。松露是一種選擇嗎?

誰能幫我做到這一點?而且我還想知道必須託管區塊鏈應用程序的伺服器的系統要求或架構,以及如何使用公共 IP 地址而不是本地 IP 地址將對等方連接到網路。由於本地 IP 可以根據其連接的網路進行更改。

您的意思是您想在伺服器上託管乙太坊節點,以便您可以啟用 RPC 並使用該節點。這也是很酷的想法。我在 AWS(亞馬遜網路服務)中做到了這一點。這是在全球範圍內與節點互動的最簡單方法,無需擔心。

我將分享您在aws中必須做的所有事情。我為Titan專用網路做了這個 - 從 go-ethereum 分叉。其他和官方 go-ethereum 也是如此。

Prerequisite:
Account in AWS
Basic understanding of Titan
Externally owned account (EOA)
Ethereum keystore file

Create ec2 instance:  
1. Launc ec2 instance   
2. Choose an Amazon Machine Image (AMI) ( Ubuntu Server 16.04 LTS (HVM )   
3. Choose an Instance Type ( t2.medium )   
4. Configure Security Group   
And launch.

Select and existing key pair or create a new key pair and Launch Instance. Save key pair in local computer. 

5. Connect to ec2 instance by ssh  e.g. ssh -i "titanaws.pem" ubuntu@ec2-18-188-87-71.us-east-2.compute.amazonaws.com
(titanaws.pem is key to access to ubuntu instance in AWS.)

設置 Titan 節點:建構原始碼 Building Geth(命令行客戶端) 安裝 Go 的最新發行版 git clone https://github.com/gopal/golang-tools-install-script cd golang-tools-install-script bash goinstall.sh –64 或 wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz

sudo tar -xvf go1.7.4.linux-amd64.tar.gz sudo mv go /usr/local

導出 GOROOT=/usr/local/go 導出路徑= $ GOPATH/bin: $ GOROOT/bin:$PATH

Clone the repository to a directory of your choosing:   
git clone https://github.com/RoseBay-Consulting/Titan.git  
Building geth requires Go and C compilers to be installed:   
sudo apt-get install -y build-essential golang   
sudo apt install make    
sudo apt install gcc   
cd Titan   
make geth   
Running Geth:  
Full node on the Titan network   
cd ~ Titan/build/bin/geth --titan console     

We copy and paste the keystore file in ~/.titan/titan/keystore. An keystore file (stored in ~/.titan/titan/keystore) is an encrypted version of your unique private key that you will use to sign your transactions.  
The file should look something like this:  
UTC--2015-09-18T14-07-57.023663538Z--da78c8721e4ede42cf488304551eb596dd5f93e23

如果要使用自己的機器和訪問節點,則必須配置靜態 IP。可能 ISP 會提供特定的埠。

這可能對你有幫助!!

Truffle 只是一個用於開發基於乙太坊的去中心化應用程序的框架。您可以在 IPFS 上託管您的應用程序。此連結對於如何在 IPFS 上託管分散式應用程序很有用。 此連結對於如何使用 truffle 開發應用程序以及如何在 IPFS 上部署它很有用。

引用自:https://ethereum.stackexchange.com/questions/52475