CTO Letter November

SocialX Network
3 min readNov 27, 2018

--

Dear community members,
In this blog I´ll give you an outline of how far our development and the grade of decentralization have become.

1. Being the first to run a distributed database with an react native application (mobile application).

We are proud to announce that we accomplished to run a distributed database with a react native application, which in other words is an application which runs on any mobile phone. In fact, we are the first ones to do so.

Figure 1

2. Problems which occurred during the process of creating a distributed application.

On this long and rocky road of course a multitude of difficulties and problems occurred. I would like to showcase some of them in order to give you an insight of what we were dealing with over the last months.

To begin with. React Native, a framework for building native apps using React, did not work with GunJS´s crypto module “sea”, which is the distributed database solution we choose.

Another problem we had to overcome was with Webcrypto API, which allows a script to use cryptographic primitives in order to build systems using cryptography and has the feature to allow the manipulation and storage of private and secret keys without requiring the underlying bits of the key to be made available to JavaScript. Unfortunately, it was not supported by JavaScript core, the engine we used to run react-native on.

Furthermore, injecting webcrypto through the react-native browser turned out to be not as easy as we anticipated as iOS and Android handle injected javascript on their browsers differently which led to incompatibility between each other

The next problem occurred as result of our decentralised approach for building a Social Network. The decentralized database had support for react-native but the adapter used to active was outdated at the latest version of our database and there was no other alternatives to that. At the same time fetching offline is still a problem as gun´s underlying counts on “localStorage” are provided by the browser’s api, therefore saving data on the device is solely to decentralize the data between the devices.

3. How are we different to other so called decentralised social networks ?

In this chapter I would like to talk about how SocialX, as the first project which truly created a decentralised application differs from our competitors, who call themselves “decentralised”.

First and foremost, our code is open-source. Feel free to check it out on our GitHub.

We are using decentralized functions via EOS smart contracts and store pictures as well as videos on the IPFS. For the ones who do read about the IPFS for the first time, I´ll give you a quick introduction. The InterPlanetary File System (IPFS) is a peer-to-peer distributed file system. Files on the IPFS can be accessed in a variety of ways, including FUSE and HTTP. A local file can be added to IPFS, making it available worldwide.

Both blockchain nodes and database peers are also decentralised. The blockchain nodes have the purpose to save and operate transactional operations including wallet and coin transactions. They are also responsible for the execution of our smart contracts. With using blockchain nodes, the database peers and the IPFS we´ve build a 3-Layer structure protocol as illustrated in figure 2.

Figure 2

4. Setting up your own node.

Everyone is cordially invited to run a database peer as every additional node increases the grade of decentralisation for SocialX. We will publish our Step-by-Step guide on how to setup a database node in the coming days.

If you have any questions, please send us a message or write us in Telegram.

--

--

SocialX Network

SocialX is a decentralized social media platform allowing users to distribute content seamlessly and getting paid for their contribution to the network.