Ethereum Client – Parity Features

We are often required to develop websites which incorporate the usage of Web3 in the system. We need an Ethereum node which helps us interact with the Ethereum database to access data and transactions across the blockchain.

Parity has been an excellent choice for us due to the following reasons:

Parity Pruning Algorithm: It’s beneficial if you don’t have a server which massive storage space. With Geth, you’re looking forward to using 20 GB or more disk-space every week. However, Parity does a better job of pruning the data.

Syncing is Fast: If you’d like to quick start with the work, Parity’s warp syncing option is advantageous. Instead of waiting for days and days, you can now have a complete node running in an hour or more.

Passive Mode: It also incorporates a passive mode which helps in reduction of CPU usage. Overall, it also reduces the bandwidth consumption.

Compiling and Installing Ethereum (Geth) on Ubuntu or Debian

In our last post, we wrote a tutorial on how to install Bitcoin Core on your system. In this post, we’re going to write the instructions to install Ethereum at your server.

While, installing Geth is certainly not a PITA, but maintaining it is surely a daunting task, but worth it if you’re looking for the safety and ownership of the funds.

Before we start, it’s very noteworthy to mention that Geth doesn’t run well on HDD. It’s advised that you use a SSD drive with a storage space of 256 GB at minimum to be covered for some time. Our experience with Geth installation on HDD was horrific as it would rarely get in sync with the latest block, many times stop syncing itself and other times crash.

Installing Dependencies

To begin with the installation, we’ll be required to install build-essential and golang at our server.

apt-get update;
apt-get install git build-essential -y;
wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz;
tar -xvf go1.9.1.linux-amd64.tar.gz;
mv go /usr/local;
export GOROOT=/usr/local/go;
export GOPATH=$HOME/Projects/Proj1;
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH;

Compiling and Installing Geth

You can now execute the following commands at your server to download the source files and compile them. Once the process is done, the generated executable file is automatically moved to the root folder.

git clone https://github.com/ethereum/go-ethereum.git;
cd go-ethereum;
make geth;
mv /root/go-ethereum/build/bin/geth /root/;
rm -rf /root/go-ethereum;
rm -rf /root/go1.9.1.linux-amd64.tar.gz;
cd /root;

Example Commands (Bonus!)

Here are few example commands to get Get running at your server.

./geth --rpc
./geth -attach

Compiling and Installing Bitcoin Core on Debian/Ubuntu

There are many events in which you have to run your Bitcoin node. Last time we were developing an application where the client had to accept Bitcoin payments without relying on a third-party API provider, so in that case, usage of Bitcoin Core was essential.

While it’s not totally necessary to use Bitcoin Core, there are other projects which offer the same functionality such as Bitcore and Electrum. In this tutorial, we’re going to cover the installation of Bitcoin Core.

Installing Dependencies

Before you install these dependencies, it would be wise to run the following commands and then the command to install the dependencies.

apt-get update;
apt-get upgrade;
apt-get install git pkg-config libevent-dev build-essential autoconf libssl-dev libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libtool libdb5.3++-dev libdb5.3-dev -y;

Fetching Bitcoin Core Files

Now, we’ll get the latest release (currently: 0.15) from official Bitcoin GitHub account.

cd /root;
git clone -b 0.15 https://github.com/bitcoin/bitcoin.git;
cd bitcoin;

Configuring to Compile Bitcoin Core

We are now configuring the compilation process for the Bitcoin Core.

./autogen.sh;
./configure --without-gui --with-incompatible-bdb;

Compiling & Installing

Now, this is the last major step and it will require a considerable amount of time, so don’t worry and let it continue without any interruptions.

make;
make install;

After you’re done with all the stuff above, Bitcoin Core should be available at your server. You can launch it using the following command: bitcoind and access the JSON-RPC functions using bitcoin-cli, for example: bitcoin-cli listaccounts

Why Are My Emails Going to Spam? Improving Email Deliverability

If you’re having issues with your newsletter and transactional emails going to the recipient’s spam box?  Don’t worry, you’re not all alone. At some point, we also encountered this issue. With some research and efforts, we were able to change that.

While every email provider is different when it comes to handling spam emails. Most of them remain tight-lipped about their anti-spam methodology or the spammers would exploit the information for their favour.

Spam filters are constantly updated and modified to stay relevant with the time. They are constantly adapting and changing to new techniques to filter the spam folder. There are several things that we can do to avoid hitting users’ spam folder.

Why Are My Emails Going to Spam?

There are couple of factors which come in play while sending an email. Some of them are:

  1. Bad IP Reputation
  2. IP Address Not Warmed Up
  3. Bad Email Content
  4. Non-Compliance With CAN-SPAM Act
  5. Low Open (Engagement) Rate
  6. Non-DKIM Signed Email
  7. No SPF Record

We’re going to discuss them briefly in this article below.

Bad IP Reputation

This is a wide reason for email rejections or your email landing at users’ spam folder. If your IP address has been used in malicious or spammy behaviour in past, it’s most likely that the IP address has been flagged for that reason. In majority of the cases, it’s a PITA to remove an IP address from the spam database. So, you’re better off asking your hosting partner to allocate you a new IP address. You can find out if your IP address is blacklisted at this page.

IP Address Not Warmed Up

If you’re using a new IP address for sending emails, many of your emails would go to the spam box or get dropped all together. When an ISP notices emails coming from a new, dead or cold IP address, they immediately start evaluating its sending frequency and email content. Emails coming from a new IP address are usually considered as a major factor when detecting spam. It is recommended to send emails to only some segment of your subscribed user-base and then slowly increase the volume every week. SendGrid has written a great guide on this topic, you can check that out by clicking here.

Bad Email Content

Badly written email content may get dropped by the ISP for being spammy. Emails which contain words like “viagra”, “get rich quick”, “best investment scheme”, etc. are often flagged and end up reaching the spam-box of the user. Even subject lines like GET 99% DISCOUNT IN VICTORIA!!!!” can be flagged for spam. So, it’s best to write sober subject and body content which may not get flagged.

Non-Compliance With CAN-SPAM Act

Non-compliance with the CAN-SPAM Act can get your emails to land to users’ spam box instead of inbox. Established in 2003, CAN-SPAM Act is a law that establishes the guidelines for commercial email and commercial messages, gives recipients the right to have a business stop emailing them, and outlines the penalties incurred for those who violate the law.

To stay complaint:

  • Include your valid physical address in the footer of the emails you’re sending.
  • Provide users a clear, simple way to unsubscribe from your emails and honour the opt-out requests within 10 days.
  • Use clear and valid “From”, “To”, “Reply-To” headers/fields while sending the emails.
  • Don’t send emails to marketing emails who haven’t explicitly opted-in for your emails.
  • Avoid using deceptive subject lines and body content to mislead the users.

Low Open (Engagement) Rate

While this shouldn’t directly penalize you, but sending emails which aren’t opened by the recipients which certainly attract some suspicious behaviour from the ISP. You don’t open the spam emails, do you? That’s why.

So, make sure that you send emails with proper, clear and attractive subject-lines as majority of the email providers consider email open rates as a factor while calculating the spam score of a sender.

Non-DKIM Signed Email

DomainKeys Identified Mail (DKIM) enables the sender to associate/link a domain name with an email message, thus endorsing for its legitimacy.

This is achieved by signing an email message with a private key. An email provider validates the received email by verifying it using the public key provided at the DNS records of the domain name.

If you don’t have a DKIM record at your domain, then many of the email providers would be dumping your emails in the spam box right now 😉

No SPF Record

An SPF record lists the mailing servers who are allowed to send emails on your behalf. While DKIM is used for cryptographically validating the integrity of an email message, this record simply means the listing of the mailing server which can send emails on your behalf.

With the incorporation of the tips above, your emails should directly land in the users’ inbox instead of spam box. If you’re still having problems with email deliverability, it is recommended that you use a service like Sparkpost or SendGrid.

if you need any help setting up your SMTP server, let us know at [email protected].

Welcome to the Overfeat Blog

Announcing: Overfeat Blog

We’re pretty excited to let you know that we’ve finally released our official blog where we’ll keep you informed about latest happenings at the company, our thoughts and some occasional articles in the technology and cryptocurrency sphere.

2017 has been a great year for all of us here. We worked with over 100 people to build custom solutions and helped other countless individuals in building their websites.

We stay committed to our core value which is great customer support. In addition to that, we’ll be focusing on developing new products and startups this year without taking any toll at the customer support. We thank you for your support and faith in us.

You can find some important resources at the links below.