--- title: transfer coin tags: v2 --- # Withdraw money ## Need to know - user 的 wallet 私鑰是由 FiO 保管,所以任何操作錢包的動作都需要透過 FiO 操作 ## 需求 - 要讓 user 可以將錢包裡的 eth or matic 轉到指定的地址 ## 限制 1. 一個月只能轉一次 (30天內只能轉一次) 2. 一次必須全部轉出去,不能輸入要轉多少出去 3. 只能透過 FiO 網站操作,不能透過 API ## white list - 給測試使用的 - admin account 只開放測試環境的 API_KEY - micky@fio.one kay@fio.one ivan@fio.one 可以透過 API_KET 執行 不受限制 ## 規劃 - 全部轉出去的 eth or MATIC 必須扣掉手需費才是最後轉出的結果 - 需要兩個 API - transfer API - 去拿取最新可轉出最大值 API (扣掉手續費) ### API: 取得最大可轉出值 ```javascript= const balance = getBalance(); const gasFee = getEstimateGasFee(); const maxTransferableValue = balance - gasFee; gasEstimateGasFee() { // call fbms API 取得 } FBMS API // 一般 transger 所需 gasLimit 就是 21000 取得最新 gasPrice * 21000 即為估計 gasFee ```