區塊鏈應用開發實戰[13] — 智能合約開發環境 Trust Wallet App
為了深入研究在聊天機器人裡是否能呼叫錢包的問題,小明今天花了一整天的時間研究 Trust Wallet 在 GitHub 上的開源專案程式碼。
Trust Wallet Open Source
https://github.com/TrustWallet
- trust-core
這個專案主要是 Trust Wallet 錢包的核心資料結構與錢包演算法。 - trust-wallet-ios
這個專案就是 Trust Wallet 的 iOS 程式碼,實作 iOS 的 UI 與操作功能。 - trust-wallet-android-source
這個專案是 Trust Wallet 的 Android 程式碼,不過因為安全隱憂目前已經不提供最新程式碼。 - TrustSDK-iOS
供其他 iOS 開發者整合 Trust Wallet 進行支付的 SDK。 - TrustSDK-Android
供其他 Android 開發者整合 Trust Wallet 進行支付的 SDK。 - react-native-trust-sdk
供 React Native 開發者整合 Trust Wallet 進行支付的 SDK。 - dapps-browser
這個專案是 Trust Wallet 內建 DApps 瀏覽器所預設開啟的網站,主要是網頁內嵌可偵測 Trust Wallet 的 Web3 Provider 並進行交易。
小明花了一整天在研究 Trust Wallet 的程式碼後,最後勉強找到一個似乎可行的代替方案,就是 Trust Wallet 提供的 Deep Linking。
Deep Linking
這個功能是 Trust Wallet 透過 Branch.io 提供的服務。當點擊一個 Trust Wallet 特殊的網址連結時,Branch.io 會判斷手機是否已安裝 Trust Wallet。若未安裝則連結會跳至 App Store 的 Trust Wallet 安裝頁,若已安裝則會開啟 Trust Wallet 內建的 DApps Browser 並開啟特別指定的網頁。
實作方式如下:
直接使用一行網址,例如在 DApps Browser 中開啟 google.com
https://links.trustwalletapp.com/a/key_live_lfvIpVeI9TFWxPCqwU8rZnogFqhnzs4D?&event=openURL&url=https://google.com
不過此方案仍需待 POC 開始實作後,才能進行測試是否真正可行。
本文同時發佈於作者部落格:https://www.bdetw.com/blockchain-dapps-trust-wallet-app/