generateAddress返回命令参考
c.generateAddress();
创建用户,返回JSON数据类型,包含:
secret:账户秘钥
account_id:账户地址
public_key:公钥
Example:
JSONObject json=c.generateAddress();
发送请求
输出结果:
耗时:1260ms
{
"public_key":"",
"account_id":"",
"secret":""
}
c.generateAddress();
创建用户,返回JSON数据类型,包含:
secret:账户秘钥
account_id:账户地址
public_key:公钥
Example:
JSONObject json=c.generateAddress();
发送请求
输出结果:
耗时:1260ms
{
"public_key":"",
"account_id":"",
"secret":""
}
c.pay(accountId,count);
为创建的用户转账,新创建的用户在转账成功之后才能正常使用;其中accountId表示转账的用户地址,count转账金额,count最小值20;
Example:给accountId
等于rBuLBiHmssAMHWQMnEN7nXQXaVj7vhAv6Q
的用户转账20.
c.pay(rBuLBiHmssAMHWQMnEN7nXQXaVj7vhAv6Q","20")
{
command:pay
account:
secret:
destAccount:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.createTable(tableName,raw,confidential).submit(SyncCond.db_success);
tableName:所创建表名;raw:创建表的字段名称必须为Json格式数据;
{
command:"createTable"
account:
secret:
tableName:
raw:[
]
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.renameTable(tableName,NewTableName).submit();
修改数据库中表的名字,tableName:表名;NewTableName:新的表名,两个名字都不能为空;
Example: 将表"dc_universe"改为"dc_name".
c.renameTable("dc_universe","dc_name").submit();
{
command:"renameTable"
account:
secret:
tableName:
tableNewname:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.dropTable(tableName).submit();
从数据库删除一个表。表和它的所有数据将被删除;
Example:删除表"dc_universe".
c.dropTable("dc_universe").submit();
{
command:"renameTable"
account:
secret:
tableName:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.table(tableName).insert(raw).submit(SyncCond.db_success);
向数据库中插入数据。raw类型必须都是例子中的json格式的数据类型;
{
command:"insert"
account:
secret:
tableName:
raw:[
]
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.table(tableName).get(raw).update(raw).submit(SyncCond.db_success);
更新表中数据。如果get添加为空,则更新表中所有记录;其中raw为json格式字符串;
{
command:"update"
account:
secret:
tableName:
raw:
rawString:
]
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.table(tableName).get(raw).delete().submit(SyncCond.db_success);
从表中删除符合条件的记录。如果get条件为空,则删除所有记录;
{
command:"delete"
account:
secret:
tableName:
raw:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.table(tableName).get(raw).submit();
从数据库查询数据,返回所有符合条件的数据,后面可以进行其他操作,如updata,delete等;
{
command:"get"
account:
secret:
tableName:
raw:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.grant(tableName,user,rightInfo).submit(SyncCond.validate_success);
向用户授予数据表操作权限;
tableName:授权的表名;
user:被授权用户地址;
rightInfo为授权字符串,例如:{select: true, insert: true, udpate: true,delete:true};
如果是加密的表:
c.grant(tableName,userPublicKey,user,rightInfo).submit(SyncCond.validate_success);
userPublicKey:被授权用户公钥,进行授权操作要填写该参数;
用户权限有以下几种:select、insert、update、delete;
{
command:"grant"
account:
secret:
tableName:
raw:
}
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.beginTran();
事务开始;
在事务开始和结束之间的insert,update,delete,assert语句会包装在一个原子执行
中间的请求命令用户可自行填写,包括createTable,renameTable,dropTable,insert,update,delete这六种
在事务上下文中,不在支持单个语句的submit
{
command:"transaction"
account:
secret:
cmdArray:[
raw:]
}
发送请求
输出结果:
耗时:ms
{
"tx_hash":"",
"status":"",
"error_message":""
}
c.table(tableName).get(jsonObj1).sqlAssert(jsonObj2);
事务中的断言操作,sqlAssert为true则继续,false则回滚事务;
jsonObj1:查询条件;
jsonObj2:断言表达;
Example:判断id等于1的记录age是否等于52并且name等于lisi,如果是则继续,如果有一个条件不满足或记录不存在,则回滚事务
c.table("posts").get({id: 1}).sqlAssert({age:'52',name:'lisi'});
Example:判断id等于1的记录集的行数是否等于1,如果是则继续,如果不是或表不存在,则回滚事务
c.table("posts").get({id: 1}).sqlAssert({$rowcount:'1'});
Example: 判断表posts是否存在,如果有则继续,如果不存在,则回滚事务
c.table("posts").sqlAssert({$IsExisted:'1'});
输出结果:
耗时:1260ms
{"lines":[{"balance":"124","name":"test_re","id":1,"age":27}],"status":"success"}
c.commit();
提交事务;
本次事务期间的所有操作都会打包提交到区块链网络
Example:
c.beginTran();
c.table("posts").insert({name: 'peera',age: 22},{name: 'peerb',age:21});
c.table("posts").get({id: 1}).assert({age:22,name:'peera'});
c.table("posts").get({id: 1}).update({age:'52',name:'lisi'});
c.table("comments").delete({id:1});
c.commit();
输出结果:
耗时:1260ms
{"lines":[{"balance":"124","name":"test_re","id":1,"age":27}],"status":"success"}
1.接口原型:JSONObject getLedger()
返回值:成功返回最新区块信息,失败为null;
2.JSONObject getLedger(int ledger_index);
参数:ledger序号;返回值:成功为JSONObject,失败为null;
{
command:"getLedger"
index:
}
发送请求
输出结果:
耗时:ms
"ledger":""
接口原型:JSONObject getLedgerVersion()
返回值说明:整数,当前的区块高度
发送请求
输出结果:
耗时:ms
"ledger_current_index":""
查询账户某个hash下的交易信息;
接口原型:
同步:JSONObject getTransaction(String hash);
异步:void getTransaction(String hash,Callback cb);
参数说明:Hash:交易哈希值
同步接口返回值:成功为交易信息,失败为null
{
command:"getTransaction"
hash:
}
发送请求
输出结果:
耗时:ms
"transaction":""
查询某账户相关的所有交易
接口原型:
同步:JSONObject getTransactions(String address);
异步:void getTransactions(String address,Callback cb);
参数说明:要查询的账户地址address:
同步接口返回值:成功为交易信息数组,失败为null
{
command:"getTransactions"
account:
}
发送请求
输出结果:
耗时:ms
"transactions":""