Open
Description
It looks that the problem is caused by double number:
import com.bigchaindb.builders.BigchainDbConfigBuilder;
import com.bigchaindb.builders.BigchainDbTransactionBuilder;
import com.bigchaindb.constants.Operations;
import com.bigchaindb.model.GenericCallback;
import com.bigchaindb.model.MetaData;
import com.bigchaindb.model.Transaction;
import net.i2p.crypto.eddsa.EdDSAPrivateKey;
import net.i2p.crypto.eddsa.EdDSAPublicKey;
import okhttp3.Response;
import java.io.IOException;
import java.security.KeyPair;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws Exception {
BigchainDbConfigBuilder
.baseUrl("https://test.bigchaindb.com/")
.addToken("app_id", <id>)
.addToken("app_key", <ey>).setup();
net.i2p.crypto.eddsa.KeyPairGenerator edDsaKpg = new net.i2p.crypto.eddsa.KeyPairGenerator();
KeyPair keyPair = edDsaKpg.generateKeyPair();
Map<String, Object> assetData = new HashMap<String, Object>() {{
put("key", 1197.5864929752704);
}};
MetaData metaData = new MetaData();
metaData.setMetaData("notes", "The CREATE transaction for a device asset");
Transaction createTransaction = BigchainDbTransactionBuilder
.init()
.addAssets(assetData, HashMap.class)
.addMetaData(metaData)
.operation(Operations.CREATE)
.buildAndSign((EdDSAPublicKey) keyPair.getPublic(), (EdDSAPrivateKey) keyPair.getPrivate())
.sendTransaction(new GenericCallback() {
@Override
public void pushedSuccessfully(Response response) {
}
@Override
public void transactionMalformed(Response response) {
handleError(response);
}
@Override
public void otherError(Response response) {
handleError(response);
}
private void handleError(Response response) {
try {
System.out.println(new String(response.body().bytes()));
} catch (IOException e) {
e.printStackTrace();
}
}
});
System.out.println(createTransaction.getId());
}
}
In output you should get message saying that signature is invalid
Tested with:
<dependency>
<groupId>com.bigchaindb</groupId>
<artifactId>bigchaindb-driver</artifactId>
<version>1.1</version>
</dependency>