X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=README.md;h=7260f58c05386009485e96affa04071156222193;hb=70ee140c980a285642c86106ba536731dcd5ccde;hp=5c3bead8bc477c056e13b721b83e98e054c21569;hpb=2c45c5581ceb0003aacd8f482144e59e99a2e159;p=bytom%2Fbytom-java-sdk.git diff --git a/README.md b/README.md index 5c3bead..7260f58 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,8 @@ -# Bytom java-sdk +## Bytom Java SDK -This page will document the API classes and ways to properly use the API. -Subsequent new releases also maintain backward compatibility with this class -approach. For more information, please see Bytom API reference documentation -at [Bytom wiki](https://github.com/Bytom/bytom/wiki/API-Reference) +Bytom java sdk contains two modules: -## Basic Usage +1. java-sdk encapsulates of the request data and return value of the bytom api,The signature of the transaction needs to be completed online.See the [java-sdk documentation](java-sdk/README.md) for details. -``` -public static Client generateClient() throws BytomException { - String coreURL = Configuration.getValue("bytom.api.url"); - String accessToken = Configuration.getValue("client.access.token"); - if (coreURL == null || coreURL.isEmpty()) { - coreURL = "http://127.0.0.1:9888/"; - } - return new Client(coreURL, accessToken); -} +2. tx-signer implementation offline signature of transaction, see the [tx-signer documentation](tx-signer/README.md) for details. -Client client = TestUtils.generateClient(); -``` - -## Usage - -* [`Step 1: Create a key`](#create-a-key) -* [`Step 2: Create an account`](#create-an-account) -* [`Step 3: Create an receiver`](#create-an-receiver) -* [`Step 4: Create an asset`](#create-an-asset) -* [`Step 5: Issue asset`](#issue-asset) - * [`Firstly build the transaction`](#firstly-build-the-transaction) - * [`Secondly sign the transaction`](#secondly-sign-the-transaction) - * [`Finally submit the transaction`](#finally-submit-the-transaction) - -> For more details, see [API methods](https://github.com/Bytom/java-sdk/blob/master/doc/index.md#api-methods) - -## Create a key - -```java -String alias = "test"; -String password = "123456"; - -Key.Builder builder = new Key.Builder().setAlias(alias).setPassword(password); -Key key = Key.create(client, builder); -``` - -## Create an account - -```java -String alias = "sender-account"; -Integer quorum = 1; -List root_xpubs = new ArrayList(); -root_xpubs.add(senderKey.xpub); - -Account.Builder builder = new Account.Builder().setAlias(alias).setQuorum(quorum).setRootXpub(root_xpubs); - -Account account = Account.create(client, builder); -``` - -## Create an receiver - -```java -String alias = receiverAccount.alias; -String id = receiverAccount.id; - -Account.ReceiverBuilder receiverBuilder = new Account.ReceiverBuilder().setAccountAlias(alias).setAccountId(id); -Receiver receiver = receiverBuilder.create(client); -``` - -## Create an asset - -```java - String alias = "receiver-asset"; - -List xpubs = receiverAccount.xpubs; - -Asset.Builder builder = new Asset.Builder() - .setAlias(alias) - .setQuorum(1) - .setRootXpubs(xpubs); -receiverAsset = builder.create(client); -``` - -## Issue asset - -### Firstly build the transaction - -```java -Transaction.Template controlAddress = new Transaction.Builder() - .addAction( - new Transaction.Action.SpendFromAccount() - .setAccountId(senderAccount.id) - .setAssetId(senderAsset.id) - .setAmount(300000000) - ) - .addAction( - new Transaction.Action.ControlWithAddress() - .setAddress(receiverAddress.address) - .setAssetId(senderAsset.id) - .setAmount(200000000) - ).build(client); -``` - -### Secondly sign the transaction - -```java -Transaction.Template singer = new Transaction.SignerBuilder().sign(client, - controlAddress, "123456"); -``` - -### Finally submit the transaction - -```java -Transaction.SubmitResponse txs = Transaction.submit(client, singer); -``` - -> For more details, see [API methods](https://github.com/Bytom/java-sdk/blob/master/doc/index.md#api-methods)