Develop

2019.06 Monthly Report (Develop)

Index

  1. PlanetWallet

  2. GBT Protocol Website

PlanetWallet

2019 Q3

  • PlanetWallet Launching

  • Network Layer Development

We are in the middle of developing the PlanetWallet with a goal to achieve the full development by the third quarter of 2019 and launch the service at the same time according to the GBT Protocol Roadmap. The development procedure has come to texting the alpha version of the wallet. After successfully testing the alpha version, we will proceed with the private beta test, finding and fixing errors. After the beta test, we will finally launch the PlanetWallet service according the schedule described on the roadmap.

The PlanetWallet is a cryptocurrency wallet focusing on the convenience and stability for users. It is more enjoyable and convenient than other wallets, but also safe.

1. Convenience of the PlanetWallet

The PlanetWallet will provide your own planet in the beginning. This planet will be your own address and used to trade tokens and coins. It is similar to a video game that you can name your planet like you do to your game character. This will release you from the inconvenience of long, illiterate wallet address in the blockchain.

A planet name can be preoccupied by others.

GBT Protocol’s PlanetWallet supports Bitcoin and Ethereum including ERC20 tokens. Ripple (XRP), Bitcoin Cash (BCH), and Litecoin (LTC) will be additionally listed on the wallet first, and so will more tokens and coins in the future.

PlanetView

The PlanetView, which provides a unique planet, has been released through Github. The PlanetWallet can create planetary images in the same way as in other applications or websites.

Android ( Java )
iOS ( Swift )
Javascript ( es6 )

In Layout XML

<io.grabity.planetwallet.Widgets.PlanetView
android:id="@+id/planet_name_icon"
android:layout_width="170dp"
android:layout_height="170dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="80dp"
app:data="<Your Planet Address>" />

In Activity

@Override
protected void onCreate( @Nullable Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
PlanetView planetView = findViewById( R.id.planet_name_icon );
planetView.setData( "<Your Planet Address>" );
}
@IBOutlet var planetView: PlanetView!
override func viewDidLoad() {
super.viewDidLoad()
planetView.data = "<Your Planet Address>"
}
import planet from './PlaetView'
let canvas = planet.setData("<Your Planet Address>", 700);

2. Security of the PlanetWallet

The security of the PlanetWallet is enhanced by the mobile security module of Pentacuity, a partner company of GBT Protocol. The PlanetWallet replaced the open source to the open code with C language and then compiled it for use. The method is designed to be safe from attack through open source defects.

3. Mobile device security

The Planet Wallet stores the encryption key in the TEE area of the mobile device for use in encrypting and decrypting data.

Android mobile security

It is implemented to create and store the encryption key using the Android’s TEE, the Keystore.

KeyGenerator keyGenerator = KeyGenerator.getInstance( KeyProperties.KEY_ALGORITHM_AES, KEYSTORE_PROVIDER );
KeyGenParameterSpec keyGenParameterSpec =
new KeyGenParameterSpec
.Builder( keystoreAlias, KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT )
.setBlockModes( KeyProperties.BLOCK_MODE_CBC )
.setEncryptionPaddings( KeyProperties.ENCRYPTION_PADDING_PKCS7 )
.setRandomizedEncryptionRequired( false ).build( );
keyGenerator.init( keyGenParameterSpec );
keyGenerator.generateKey( );

iOS mobile security

It is implemented to store the encryption key using the iOS’ Secure Enclave, the Keychain.

func put(alias:String, value: Data) {
let query: CFDictionary = [
_kSecClass: _kSecClassGenericPassword,
_kSecAttrService: secAttrService,
_kSecAttrAccount: alias,
_kSecValueData: value,
] as CFDictionary
SecItemDelete(query)
SecItemAdd(query, nil)
}
func get( alias:String ) -> Data? {
let query: CFDictionary = [
_kSecClass: _kSecClassGenericPassword,
_kSecMatchLimit: kSecMatchLimitOne,
_kSecAttrAccount: alias,
_kSecReturnData: kCFBooleanTrue as Any
] as CFDictionary
var buffer: AnyObject?
let status = SecItemCopyMatching(query, &buffer)
if status == errSecSuccess {
if let data = buffer as? Data {
return data
} else {
return nil }
} else {
return nil
}
}

4. Platform support

The Planet Wallet is a mobile wallet supporting Android and iOS.

Android
iOS

It supports Android devices with API Version 24 or higher.( Nougat ) According to Nougat’s research until October 27, 2018, more than 57.9% devices can use it. ( Android Dashboard )

It supports iOS devices with iOS 11 Version or higher. According to the research until May 30, 2019, more than 94% devices can use it. ( iOS Dashboard )

The Planet Wallet is open to the public in the open source via Github.

For the safety issues, codes with sensitive information such as encryption or security are not open to the public.

GBT Protocol Website

1. GBT Protocol

According to the change of our project’s name from Grabity to GBT Protocol,our website will be transformed to address our professionality and expertise in technology by escaping away from the universe identity. Future projects of GBT Protocols will contain more various identities and goals. The new GBT Protocol website will embrace the differences of projects and combine them to one place.

2. Readability and accessibility

The main channel will only contain important issues to increase the readability. You will be able to access to the latest update of GBT Protocol in ease of use and fast.

Compared to the old website with the complicated interface, the new website will arrange and introduce future projects, services, and development at a glance.

We are in the middle of developing the new website with a goal of simultaneous launch in PC and mobile version. The new website will be open on July 16.

The website renewal schedule has been changed on July 26 in another schedule.