10

Here are some libraries for interacting with an Ethereum node. They are grouped by language, and roughly according to their last commit, with any appropriate brief notes. Javascript has been included since they are alternatives to web3.js and provide value to the overall list. Javascript https://github.com/AugurProject/ethrpc with IPC support, last ...


10

OK I figured this out, using basic HTTP/HTTPs auth. Posting in case this helps anyone else: AWS: disabled inbound TCP access to 8545 port (in AWS security groups) Added auth_basic in nginx Used openssl to create a password file New web3 URL: https://<USERNAME>:<PASSWORD>@mydomain.com:443 nginx config server { listen 443 ssl default_server;...


6

I hope you are running Parity version 1.8.6 because earlier versions wont make it on HDD! Starting at around block 2.4 million are the so called spam blocks, see: Why is my node synchronization stuck/extremely slow at block 2,306,843? Your archive node will take 3-4 days to get through these blocks between 2.4 and 2.7 million, and eventually gain some ...


6

The full blockchain is over 200GB. So long as you have even a relatively modest desktop CPU (or single core of one in a virtualized cloud environment), you should have no difficulty staying in sync, CPU-wise with the blockchain (at least until sharding comes around). go-ethereum is happy with a few gigabytes of RAM (I haven't used it in nearly a year, but it ...


6

The best way to store the keys will depend on how you need to use them. For example, if you don't need to sign with them in real time, you may want to keep them on a separate system that isn't usually online. You can then give that system minimal functionality - just signing the transactions that you need signed - then send the signed transactions to your ...


5

There are several ways you can run Ethereum: PyEthApp Python version GoEthereum Go Version (Probably the most popular) EthereumJ Java version Web3 umbrella C++ version All of the above are developed under the Ethereum project an have detailed installation instructions. So I think it really depends on what you want/need. If you're trying to get a sense of ...


5

Here's what I am using: AWS Instance Setup New EC2 instance Ubuntu Server 16.04 LTS (HVM), SSD Volume Type - ami-10547475 t2.large: 2 vCPUs, 8GB RAM 250 GB (currently about 60gb is being used) nginx reverse proxy server: for ssl/https access (for my site which is https) tmux for persistence set up parity as a daemon process I am using parity instead of ...


3

Pre-Approve The user could sign transactions offline for example using ethereumjs-tx. The service then broadcasts the signed transactions. These could either modify the contract directly or they could set permissions within the smart contract so that the service is allowed to perform certain operations. For example consider how according to the ERC: Token ...


3

Technically it is pretty possible. On the other hand to keep your money on platform like Digital Ocean doesn`t look as a good practice. Platforms with a strong identity management like AWS, Azure, Google Cloud are more preferable.


3

There is a package for this called ethereum-tx-sign on crates.io. It provides a RawTransaction structure with a sign method. It doesn't have any dependency on web3 and you can sign the transactions offline.


2

There's a trick using python's web3 package with cpython: let gil = Python::acquire_gil(); let py = gil.python(); let web3 = py.import("web3").unwrap(); let transaction = { let transaction = PyDict::new(py); transaction.set_item(py, "gas", gas_limit).unwrap(); transaction.set_item(py, "gasPrice", gas_price).unwrap(); transaction.set_item(py,...


2

It is a function of wallet to store and use your private key. web3 API like rust-web3 usually leave transaction signing to wallet. Therefore your option is to reuse the code in Ethereum wallets that are written in Rust.


2

My configurations and experiences: Ubuntu Server 16.04 LTS (HVM), SSD Volume Type. Absolutely must have 8+ gb of RAM. Don't go any less or you'll run into strange problems. The m5.large works well. Use a Fixed Performance Instance (e.g. M5, C5, and R5), and do not use a Burst Performance Instance (T2.* or T3.*). Because if your instance runs out of ...


2

Yes, you absolutely can! You will have to us the EthereumJS-tx package from NPM, you can get more information here: https://github.com/ethereumjs/ethereumjs-tx. It's as simple as: const EthereumTx = require('ethereumjs-tx').Transaction const privateKey = Buffer.from( 'e331b6d69882b4cb4ea581d88e0b604039a3de5967688d3dcffdd2270c0fd109', 'hex', ) const ...


2

The whole purpose of DApps is that you don't need to setup a back-end for them, since the Blockchain acts as a common back-end shared across all DApps. Most of the time, a simple static HTML/JS/CSS front-end application will be sufficient for DApp projects. For my DApp projects, I make heavy use of AWS S3 to store the front-end single page applications from ...


1

Using web3js library, here is how you do it on nodejs serverside //generate private key privateKey = web3.eth.accounts.create().privateKey.substr(2) //generates pubKey from privateKey, encrypts it and store in keystore folder. web3.eth.personal.importRawKey(privateKey, pin) .then((result) => { //store pub address. ...


1

The big idea behind using the Next.js in ethereum applications (dapps) is server side rendering. You can also use CSR but it will not be good for user experience. Let say you are building an voting application and the candidates are stored on the blockchain. To populate the html document the data should be fetched from blockchain. As you said we can fetch ...


1

The concept of Infura is to host highly available Ethereum nodes for endusers and offer a remote access to Ethereum (via JSON-RPC). So you don't need to install anything, it's more or less like a third-party API you would use from your application. The endpoint is https://<network>.infura.io/<version>/<api_key> Examples: https://mainnet....


1

Deploying a contract on the network by any node in that network makes it accessible by all the nodes in the network. The JSON-RPC error is probably due to the second node (laptop) not being properly configured or lacking synchronization with the first node.


1

That's how it works, besides that transactions are no JSON objects, but hexadecimal strings. Your device creates a signed transaction, which requires the private key. Then you pass this signed transaction as a hex string on to your node. Since your node is actually part of the Ethereum network, the transaction has reached the blockchain infrastructure ...


1

So i found the solution and it was rather obvious and simple. I needed to meteor add ethereum:web3 and then on the server side it's needed to create a Web3 object web3 = new Web3(). The issue with the meteor example is to load the generated embark.js file just after the web3 object was created, otherwise you will get an error. Ideally embark would create ...


1

If you plan on running a full client on a VPS from digital ocean you can access it using ssh and just copy the client and/or files such as accounts and contracts: $ scp -r directoryWithEthClientAndFiles/ VPSHostName@xx.xx.xx.xx:/path/to/remote/directory $ ssh VPSHostName@xx.xx.xx.xx # Enter password if user/pass authentication is enabled $ cd /path/to/...


Only top voted, non community-wiki answers of a minimum length are eligible