From 7abc55a9e548cbeeea96813a5b7c92522c8dccd7 Mon Sep 17 00:00:00 2001 From: Kapten boneng Date: Mon, 4 Nov 2024 08:57:42 +0700 Subject: [PATCH 01/11] Create Dashboard.js - Antarmuka React Native Penjelasan Fitur: 1. Kelas PiWalletPro: Multi-Signature: Menggunakan createMultiSigAddress untuk membuat alamat multi-sig. HD Wallet: createHDWallet membuat wallet deterministik dengan enkripsi mnemonic menggunakan password yang diberikan. Enkripsi: Fungsi encryptData dan decryptData untuk menjaga mnemonic tetap aman. Autentikasi Biometrik: Fungsi simulasi biometrik yang dapat diintegrasikan dengan API perangkat sebenarnya. Transaksi: Fungsi sendTransaction mengirimkan transaksi menggunakan API Pi Network. 2. Komponen Dashboard React Native: UI untuk Biometric Login, HD Wallet Creation, View Balance, dan Send Transaction. Input Password: Digunakan untuk mengenkripsi mnemonic saat pembuatan dompet HD. 3. Keamanan Lanjutan: Enkripsi mnemonic menggunakan crypto di Node.js menjamin keamanan frase seed. Autentikasi biometrik untuk mengakses dompet. Penyimpanan kunci dan autentikasi tambahan memastikan bahwa data tetap terlindungi. --- Dashboard.js - Antarmuka React Native | 69 +++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Dashboard.js - Antarmuka React Native diff --git a/Dashboard.js - Antarmuka React Native b/Dashboard.js - Antarmuka React Native new file mode 100644 index 0000000..031d3fa --- /dev/null +++ b/Dashboard.js - Antarmuka React Native @@ -0,0 +1,69 @@ +import React, { useState } from 'react'; +import { View, Text, Button, Alert, TextInput } from 'react-native'; +import PiWalletPro from './PiWalletPro'; + +function Dashboard() { + const wallet = new PiWalletPro(); + const [password, setPassword] = useState(''); + const [address, setAddress] = useState(''); + + // Handle biometric login + const handleBiometricLogin = () => { + wallet.authenticateWithBiometrics(success => { + if (success) { + Alert.alert("Login Successful"); + } else { + Alert.alert("Login Failed"); + } + }); + }; + + // Handle HD Wallet creation + const createHDWallet = async () => { + if (!password) { + Alert.alert("Please enter a password"); + return; + } + const { encryptedMnemonic, address } = await wallet.createHDWallet(password); + setAddress(address); + Alert.alert("Wallet Created", `Encrypted Mnemonic: ${encryptedMnemonic}`); + }; + + // Handle viewing balance + const viewBalance = () => { + const balance = wallet.getAssetBalance('PI'); + Alert.alert(`Pi Coin Balance: ${balance}`); + }; + + // Handle sending transaction + const sendTransaction = async () => { + try { + const result = await wallet.sendTransaction('destination_address', 10, 'YOUR_API_TOKEN'); + Alert.alert("Transaction Sent", `Result: ${JSON.stringify(result)}`); + } catch (error) { + Alert.alert("Transaction Failed", error.message); + } + }; + + return ( + + Welcome to PiWallet Pro + + setPassword(text)} + style={{ borderWidth: 1, padding: 8, marginVertical: 10 }} + /> + +