Stellar Service Part 1: Configuring a Stellar application on Rehive

Connor Macdougall
Rehive blog
6 min readJul 11, 2018

--

[This post is slightly outdated, but the details are still informative to learn more about Rehive’s Stellar Extension. As a shortcut we recommend that you start by trying out our automated configuration flow by creating an account here.]

At Rehive we aim to make it easy for anyone to setup specific Blockchain Services and interact with the underlying value they provide. This can be a challenge when trying to simplify processes around an ever more complex blockchain ecosystem. This guide will serve as a primer and guide on setting up and managing a Stellar application using Rehive and its Stellar Service.

The above infographic illustrates a fully operational Stellar setup. By the end of this series of guides you should be able to create your own Stellar wallet, issue your own custom Stellar token, track blockchain transactions, account balances and more. We are excited to see what everyone can build using Rehive’s tools.

Onwards and upwards!

Before continuing, I recommend following along with this guide on our testnet service for ease of use. This will allow you to play around without actually needing to purchase any Lumens (the Stellar native currency) as we run our testnet setup on the Stellar test network. The same steps can be followed on Rehive’s mainnet service but you will need at least 2 Lumens (XLM) to activate your new Stellar accounts on-chain.

Basic Rehive company setup

Before we get into the nitty gritty Stellar aspects we have to do some basic setup on a new Rehive company.

Once you have registered and you can either confirm your email or continue without verifying. Continue through the setup wizard and then select “Use default setup” to use Rehive’s recommended default setup.

The final step will be prompting you to add a currency. Although it is not required by the service, it is recommended to find the XLM currency and add it to your company.

You should be greeted by the dashboard on completion. For the sake of brevity this guide will not go into dashboard details. For more you can read this demo guide. We are now ready to configure our Stellar Service!

Activating and configuring the Stellar Service

Each service is a separate entity to the core Rehive system and will need to be added individually. For our use case we will just be activating the Stellar Service. To do that via the dashboard:

  1. Services → Click “Add” → Select Stellar Service(or Stellar Testnet Service) from the dropdown & click “Add”→ Follow the prompts

The service should now be visible as shown below:

Stellar Service screen

Once activated hit the “Manage” button to go through the service configuration. The Stellar Service needs some Group and Account configuration settings in order to work correctly — it will set these up for you when you click “Add” and then “Start”.

In the configuration you will notice a few sections:

Hot wallet

A hot wallet is essentially a transactional account (or float) that is used to make on-chain transactions on behalf of your users. It exists to minimize risk and allows you to only keep a small amount of your total cryptocurrency value in a “live” state at any one point in time. The service generates and stores a Stellar account on your behalf to act as your company hot wallet.

Warm storage

Warm storage accounts are essentially deposit accounts. When one of your users makes a deposit to your wallet they will be making it to one of the warm storage accounts. These are accounts you own and store the private keys in a wallet of your choice. Rehive only keeps track of the balance and transactions associated with the Stellar accounts.

For a wallet all we need is a working hot wallet and a deposit account (warm storage) setup.

Setting up the company hot wallet

A key concept on the Stellar network is that an account needs a small amount of Lumens (XLM) in its balance to be activated on the network. Since the hot wallet account is a newly generated account on Rehive it still needs to be activated on the Stellar network by funding it with at least 1 XLM. It is also the transactional account that will be signing and sending Lumens on behalf of your users so it generally needs a good number of Lumens available.

To fund your hot wallet, transfer funds to the Public Key displayed on the hot wallet setup page. If you are using a wallet you can scan the QR code and send the desired amount of Lumens to the hot wallet. If you are using the testnet service simply hit “Fund my account” and the Stellar Friendbot will fund the account with 10 000 testnet XLM.

On production mainnet click “My account is funded” once you have transferred funds. Click “Next” to proceed to warm storage setup.

Creating and adding the primary company deposit account

Before we can add a deposit account to the service we will need to create and fund it with at least 1 XLM. To do this we can use the account creation section on Stellar Labs. If doing this on production we recommend using a proper wallet to manage your deposit account. A good list can be found here: https://www.stellar.org/lumens/wallets/. We will be using the Stellar labs for simplicity.

  1. Generate a Stellar account using your wallet software. You should now have a Public Key and Secret Key. The secret key should be stored somewhere safe as it allows you to access the funds deposited to the account.
  2. Fund the account with at least 1 XLM. If using the testnet and the Stellar labs account creation section you will be able to use the Friendbot input on the accounts creation page. Pop your Public Key into the Friendbot field and Get 10 000 testnet Lumens! You can double check your balance here.
  3. On Rehive dashboard, in the warm storage section of the Stellar Service configuration, confirm that your account has been funded by clicking the “My account is funded” button. Add in your Public Key of the Stellar account you just created and funded. Click “Next”.

Click on “Finish” to be taken to your hot wallet. Congratulations! Users can now make Stellar deposits and Rehive will keep track of it on its ledger.

Your company’s users will now be able to send their Lumens back and forth around the Stellar network. Your fintech company setup is now complete and you can integrate it with your user-facing applications to open them up to the power of the Stellar blockchain.

Conclusion

I hope you gained some insight into working with Rehive and Stellar. We will be releasing more guides which target more specific use cases. If you would like to integrate with the Stellar Service a list of endpoints and some basic docs can be found here: Redocs and Swagger API. Rehive is constantly iterating and improving its services so keep up to date on our public Slack to ask questions or follow our blog for more posts.

The upcoming guides will include:

  1. Testing out our setup by going through the API endpoints needed to setup your first user and broadcast transactions out to the network.
  2. Setting up and funding a custom Asset(token) on the Stellar network via the Rehive dashboard.

For further reading:

Additional info

Cold storage

A cold storage account is generally kept offline and stores the majority of your cryptocurrency (e.g. A paper wallet). This is kept away from users or online entities so there is very little risk of your core private keys being leaked. Currently the service only allows users to enter Stellar account public keys of cold storage accounts that they want to monitor for accounting purposes.

Become part of the community by joining our public slack channel!

Looking to get started? Get a quote here for a white label wallet on Stellar.

You can find more information here:

Rehive Website
Rehive Products
Rehive Docs
Rehive Dashboard
Rehive Wallet

--

--