开发进程

2019.06 月报 (开发进程)

目录

  1. 行星钱包( PlanetWallet )

  2. GBT协议网址

行星钱包(Planet Wallet)

2019 Q3

  • 行星钱包上线

  • 开发网络层

行星钱包在项目路线图中的上线时间为2019年第三季度,团队也正以此为目标专注于钱包的开发工作。钱包的开发现已基本完成,处于Alpha测试阶段。Alpha测试结束后,将对钱包中存在的缺陷以及各种问题进行修正并讨论,此后将对钱包进行非公开的Beta测试。Beta测试正常结束后,团队最终会按照路线图对外公布行星钱包的上线日程。

行星钱包是一款为用户提供安全保障和使用便利而设计的加密货币钱包。在开发过程中,团队在注重钱包安全性能的同时,在用户体验方面大大地增加了钱包的易用性和趣味性。

1. 行星钱包的便利性

起初钱包将为用户们提供一个属于自己的行星,该“行星”即将成为用户们的钱包地址,用户们可以通过“行星”接收和发送代币。行星名称的创建就如同设置游戏中角色的名字一样,添加这类趣味要素,使得用户们可以摆脱区块链中复杂且难以记忆的钱包地址。

由于行星的名称具有唯一性,因此用户可以抢先注册自己喜爱的行星名称。

GBT协议团队开发的行星钱包可支持比特币和以太坊,并支持以太坊ERC20标准的代币。行星钱包将优先添加瑞波币(XRP)、比特币现金(BCH)、莱特币(LTC)等主流加密货币,此后行星钱包会陆续支持并添加更多种类的加密货币。行星钱包最终会成为使用GBT协议代币最广泛的钱包。

行星视图(PlanetView)

钱包中代币的每个地址所对应的行星视图已通过Github对外公开。行星钱包中的对外展示出的行星视图也可在其他应用程序以及网站上创建。

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

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>" );
}
iOS ( Swift )
@IBOutlet var planetView: PlanetView!
override func viewDidLoad() {
super.viewDidLoad()
planetView.data = "<Your Planet Address>"
}
Javascript ( es6 )
import planet from './PlaetView'
let canvas = planet.setData("<Your Planet Address>", 700);

2.行星钱包的安全性

GBT协议团队通过与合作伙伴Pentasecurity共同合作,确保了行星钱包的安全性。Pentasecurity是一家网络安全解决方案提供商,通过与其提供的移动安全模块相结合,行星钱包的安全性能得到了极大的提升。行星钱包则是将开源代码替换为了C语言后进行编译并使用。开发团队通过这种设计方案来防止他人通过开源漏洞进行攻击,以此来提高钱包的安全性。

3. 移动设备的安全

行星钱包将加密密钥存储在移动设备TEE(可信执行环境)中,并用其对数据进行加密和解密。

安桌系统在移动环境下的安全问题

行星钱包在安卓系统中,则是通过TEE(可信执行环境)中的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系统在移动环境下的安全问题

行星钱包在iOS系统中使用了Secure Enclave高级安全构架,并通过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. 平台支持

行星钱包作为一款可在移动环境中使用的加密货币钱包,可支持安卓和iOS系统。

Android
iOS
Android

行星钱包支持API版本为24或更高版本的安卓设备。(Nougat) 根据Nougat的研究,直到2018年10月27日,超过57.9%的设备可以支持该应用。 ( Android Dashboard )

iOS

行星钱包支持iOS 11或更高版本的iOS设备。 根据研究,直到2019年5月30日,超过94%的设备可以支持该应用。 ( iOS Dashboard )

行星钱包已通过Github实现对外开源。

但是处于对安保问题的顾虑,部分程序代码则不会对外公布。

GBT协议官网

1. GBT协议(GBT Protocol)

团队将现有的名称Grabity更改为GBT协议(GBT Protoco1), 官网也将从以宇宙星空为主题的概念中脱离,从而升级为更具专业性和技术性的网站。GBT协议中的各个项目在未来发展的过程中将会被赋予更多不同的身份和目标。升级后的GBT协议官网将把项目中的各个部分进行整合并展示给大家。

2. 易读性与可访问性

重要资讯将展示在主频道部分,升级变更后的官网易读性也会大大增强,用户们可以快速、便利地查看GBT协议的最新动态。

此前官网页面内对项目的说明比较复杂,官网在升级变更后,用户们可以一目了然地看到项目中技术、服务等先关内容的进展情况。

PC版和移动版的官网正在开发进行中,并计划于7月26日对外公布。