# 目录 [TOC=2,9] ## 介绍 True是一款去中心化区块链数字化钱包App,旨在为全球用户提供安全、简单化的数字资产管理,支持TrueChain公链和以太坊公链生态。True Wallet臻选优质的DApp,同时开放第三方DApp免费入驻。 ## True App下载 * ### 下载地址 [https://dapp.truedapp.net/appdown/](https://dapp.truedapp.net/appdown/) * ### 下载二维码 ![](https://box.kancloud.cn/4729dda279b30eadb8307451b6b1fad1_256x256.png) ## 使用说明 ### 登录钱包 如果没有登录的用户,进入App中必须要通过手机号登录钱包;没有账户的用户不用额外注册,直接试用版手机号登录即可。如果已经登录的用户会直接进入App中。 ![](https://box.kancloud.cn/290ad421560987adc992621253f44a09_786x1392.png =x500) ### 创建钱包 手机登录True App【下图1】,点击【创建钱包】进入钱包创建界面【下图2】,输入钱包名称、设置密码、确认密码,阅读服务协议且勾选,点击“创建钱包”,系统在手机上就会生成一个钱包助记词【下图3】(助记词为私钥的另一种体现方式)。为了防止数字资产的丢失,创建完成后必须要备份钱包的助记词,通过笔和纸来抄写进行备份;备份的助记词必须要完成验证,才会添加至True App中进行使用。 >[danger] 注意:钱包创建成功后,必须要备份钱包,通过笔和纸来抄写进行备份;切勿截屏,备份时确保周围没有摄像头、无人。 ![](https://box.kancloud.cn/ea86f3c312440fcc3fc612dbd2a560c8_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/10c54f459308078bf8685cfa1e60daa5_785x1391.png =x500) **\>** ![](https://box.kancloud.cn/ea44fd3fba14e6818d77a8129c6672e7_1641x2914.png =x500) ### 导入钱包 手机登录True App【下图1】,点击【导入钱包】进入钱包导入界面【下图2】,可以通过助记词、私钥两种方式导入;选择助记词导入,需要输入助记词、钱包的密码、确认密码、勾选“服务及隐私条款”;选择私钥导入,需要输入私钥、钱包的密码、确认密码、勾选“服务及隐私条款”;然后点击“导入钱包”,验证通过后,钱包就添加成功了。 ![](https://box.kancloud.cn/b062ed9f06c3c2fe0ba06809bc97a728_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/1b25339b1e878925170194250786e105_1549x2914.png =x500) ### 导出钱包私钥、助记词、Keystore 手机登录True App,首先通过【创建钱包】或【导入钱包】先添加一个钱包【下图1】,可以看到自己所有的钱包【下图2】,点击要导出钱包右侧“![](https://box.kancloud.cn/0c1b05c6967a2b053b4c2438260f061c_68x80.png =x30)”图标,就可以看到导出钱包私钥、助记词、Keystore的选项【下图3】;点击【导出私钥 或 导入助记词 或 导出Keystore】> 【输入钱包密码】,即可以看到对应的信息。 ![](https://box.kancloud.cn/d983ebd604a3183170f9251327427e80_790x1402.png =x500) **\>** ![](https://box.kancloud.cn/08e6b8639019b61919b469f1f22eecb9_786x1392.png =x500) **\>** ![](https://box.kancloud.cn/613e1a00a8b34ac261aebc185fa574d3_1642x2914.png =x500) ### 添加多个钱包 手机登录True App,首先通过【创建钱包】或【导入钱包】先添加一个钱包【下图1】,点击左上角“![](https://box.kancloud.cn/855e2a669898e05189787b0b91c80fd7_92x86.png =x30)”,可以看到自己所有的钱包【下图2】,点击导入钱包 > 输入钱包密码 > 选择钱包类型;进入导入钱包界面,后续流程可参考资产页首次“导入钱包”的方式。 ![](https://box.kancloud.cn/d983ebd604a3183170f9251327427e80_790x1402.png =x500) **\>** ![](https://box.kancloud.cn/5b9b14e2ccfc2de0787965388a9308c3_786x1392.png =x500) **\>** ![](https://box.kancloud.cn/dd1dc4378551cfb70aeb131ec77d0279_1642x2914.png =x500) ### 转账 手机登录True App - 资产页【下图1】,点击需要转账Token;进入Token详情界面【下图2】,点击“转账”按钮,进入转账界面【下图3】,输入收款地址、收款金额,点击“下一步”,确认转账信息,在点击“下一步”,输入钱包密码,点击“确认”。 ![](https://box.kancloud.cn/2505d198e1d0479465b9d08c17825df1_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/3fba7af3120aac063578108fd96d9cec_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/7ec6676b85df6f551847022d1414ed74_1642x2914.png =x500) ### 收款 第一种方式:可以点击首页地址来复制钱包地址,发送给对方来接收Token。 >[info] 注意:只要钱包中显示Token,都可以复制该地址来收款。 ![](https://box.kancloud.cn/38040b5d41bb426e34173b0547d03e32_1642x2914.png =x500) 第二种方式:可以提供收款二维码给对方扫码来接收Token。操作步骤:手机登录True App - 资产页【下图1】,点击需要收款的Token;进入Token详情界面【下图2】,点击“收款”按钮,会显示自己的收款二维码,对方可直接扫二维码进行转账。 ![](https://box.kancloud.cn/2505d198e1d0479465b9d08c17825df1_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/012a0af8f0cae09fd9002094279c029a_1080x1920.png =x500) **\>** ![](https://box.kancloud.cn/9a41340d18e6561508d684bdbf514c9e_1642x2914.png =x500) ### 查看 Dapp / 应用 手机登录True App > 发现,就可以看见应用列表;后续我们会推出许多优秀的Dapp;我们也为用户提供免费申请将自己的Dapp上架到应用区域中,继而快速获得大量用户。 >[info] 应用上架申请:可前往[开发者平台](http://dev.truedapp.net/) - 登录 - 控制台 - 应用 - 添加应用 - 申请上架; ### 登出 >[danger] 注意:如果添加了钱包,进行登出钱包前,必须做好钱包备份;一旦登出后,所有的钱包都会数据都会移除。如果未备份钱包,一旦丢失,资产将无法找回。谨慎操作!谨慎操作!谨慎操作! 打开True App - 我的,点击个人信息区域,点击“退出”,输入钱包密码。 ![](https://box.kancloud.cn/bdca21e2ee8acbdaea8973c455735fb4_1642x2914.png =x500) **\>** ![](https://box.kancloud.cn/884b87afacee3f4c3082772d4f4efe57_1642x2914.png =x500) ## API 函数 ### RN框架内Web端游戏-移动端应用通讯接口说明 > 所有接口通过`postMessage`方法单向传递。参数中均包含`timestamp`字段指明请求发起时的时间戳,和请求的其他参数一起通过格式化的JSON字符串传递。 ### 请求接口 #### 获取当前使用的账户地址 ##### 发起 ```js { timestamp: new Date().getTime(), method: 'get_account' } ``` ##### 返回 ```js { timestamp: timestamp, method: 'get_account', data: { // ok字段为false时不需要其他参数,可选附带message ok: true, address: '0x1234...' } } ``` #### 签名指定交易 ##### 发起 ```js { timestamp: new Date().getTime(), method: 'get_signedTx', data: { from: '0x123...', tx: { to: '0x123...', value: 0, input: '0x123...', nonce: 0, gas: 21000, gasPrice: 1, chainId: 123 }, message: '交易的内容说明,会展示给用户' } } ``` ##### 返回 ```js { timestamp: timestamp, method: 'get_signedTx', data: { // ok字段为false时不需要其他参数,可选附带message ok: true, rawTx: '0x123456...' } } ``` #### 设置标题 ##### 发起 ```js { timestamp: new Date().getTime(), method: 'set_title' } ``` ####关闭 WebView ###### 发起 ```js { timestamp: new Date().getTime(), method: 'close' } ``` #### 获取当前应用版本 ##### 发起 ```js { timestamp: new Date().getTime(), method: 'get_version' } ``` ##### 返回 ```js { timestamp: timestamp, method: 'get_version', data: { ok: true, version: 3.3....., } } ``` #### 代付Gas签名 ##### 发起 ```js { timestamp: new Date().getTime(), method: 'get_signPrePaymentTx', data: { from: '0x123...', tx: { to: '0x123...', value: 0, input: '0x123...', nonce: 0, gas: 21000, gasPrice: 1, chainId: 123 }, message: '交易的内容说明,会展示给用户' } } ``` ##### 返回 ```js { timestamp: timestamp, method: 'get_signPrePaymentTx', data: { ok: true, preSignedRawTx, }, }; ``` ### 例子 #### 初始化 在钱包环境中必须等待加载完成才可以使用`postMessage`方法通信,在加载完成时会收到`onload`信息,应当在接收到消息后初始化所有通信事件。 ```js document.addEventListener('message', (e) { if (e.data === 'onload') { init() } }) ``` #### 获取当前使用账户 ```js // 发送请求 const payload = { timestamp: new Date().getTime(), method: 'get_account' } window.postMessage(JSON.stringify(payload)) // 监听返回信息 document.addEventListener('message', e => { let res if (e.data) { try { res = JSON.parse(e.data) } catch (err) {} } if (!res) { return } if (res.timestamp === payload.timestamp) { console.log(res.data.address) } }) ```