# tokencore **Repository Path**: sc-linli/tokencore ## Basic Information - **Project Name**: tokencore - **Description**: The core components of the blockchain wallet backend, support a variety of blockchain address generation and offline signatures - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: http://galaxyzxcv.xyz/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 28 - **Created**: 2023-04-14 - **Last Updated**: 2023-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

tokencore

# Contact information - [My Telegram](https://t.me/xzadcx) / @Telegram # Language - en [English](README.md) - zh_CN [Simplified Chinese](README_zh_CN.md) # Use Cases Exchange wallet backend https://github.com/galaxyzxcv/java-wallet # tokencore introduction ##### The core components of the blockchain wallet backend, support BTC, OMNI, ETH, ERC20, TRX, TRC20, BCH, BSV, DOGE, DASH, LTC,FILECOIN # tokencore usage #### Introducing this library - gradle way In your build.gradle ``` repositories { maven { url 'https://jitpack.io' } } dependencies { compile 'com.github.galaxyzxcv:tokencore:1.2.7' } ``` - maven way ``` tronj https://dl.bintray.com/tronj/tronj jitpack.io https://jitpack.io com.github.galaxyzxcv tokencore 1.2.7 ``` #### Test sample [https://github.com/paipaipaipai/tokencore/blob/master/src/test/java/org/consenlabs/tokencore/Test.java](https://github.com/paipaipaipai/tokencore/blob/master/src/test/java/org/consenlabs/tokencore/Test.java) #### Initialize identity ```java try{ Files.createDirectories(Paths.get("${keyStoreProperties.dir}/wallets")) }catch(Throwable ignored){ } //KeystoreStorage is an interface that implements its getdir method WalletManager.storage=KeystoreStorage(); WalletManager.scanWallets(); String password="123456"; Identity identity=Identity.getCurrentIdentity(); if(identity==null){ Identity.createIdentity( "token", password, "", Network.MAINNET, Metadata.P2WPKH ); } ``` #### Generate wallet ```java Identity identity = Identity.getCurrentIdentity(); String password = "123456"; Wallet wallet = identity.deriveWalletByMnemonics( ChainType.BITCOIN, password, MnemonicUtil.randomMnemonicCodes() ); System.out.println(wallet.getAddress()); ``` #### Offline signature - Bitcoin ```java String password = "123456"; String toAddress = "33sXfhCBPyHqeVsVthmyYonCBshw5XJZn9"; int changeIdx = 0; long amount = 1000L; long fee = 555L; //utxos needs to go to the node or external api to get ArrayList utxos = new ArrayList(); BitcoinTransaction bitcoinTransaction = new BitcoinTransaction( toAddress, changeIdx, amount, fee, utxos ); Wallet wallet = WalletManager.findWalletByAddress(ChainType.BITCOIN, "33sXfhCBPyHqeVsVthmyYonCBshw5XJZn9"); TxSignResult txSignResult = bitcoinTransaction.signTransaction( String.valueOf(ChainId.BITCOIN_MAINNET), password, wallet ); System.out.println(txSignResult); ``` - TRON ```java String from = "TJRabPrwbZy45sbavfcjinPJC18kjpRTv8"; String to = "TF17BgPaZYbz8oxbjhriubPDsA7ArKoLX3"; long amount = 1; String password = "123456"; Wallet wallet = WalletManager.findWalletByAddress(ChainType.BITCOIN, "TJRabPrwbZy45sbavfcjinPJC18kjpRTv8"); TronTransaction transaction = new TronTransaction(from, to, amount); //Offline signature, it is not recommended to sign and broadcast together TxSignResult txSignResult = transaction.signTransaction(String.valueOf(ChainId.BITCOIN_MAINNET), password, wallet); System.out.println(txSignResult); ``` #### Note: This is just a functional component of a digital currency! ! ! It is only for learning and does not provide complete blockchain business functions