Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
ae6cac86eb
  1. 3
      iguana/iguana777.h
  2. 43
      iguana/iguana_pubkeys.c
  3. 3
      iguana/main.c
  4. 34
      iguana/manifest.json

3
iguana/iguana777.h

@ -726,6 +726,9 @@ int32_t iguana_rwmsgtx(struct iguana_info *coin,int32_t rwflag,cJSON *json,uint8
int32_t iguana_ramtxbytes(struct iguana_info *coin,uint8_t *serialized,int32_t maxlen,bits256 *txidp,struct iguana_txid *tx,int32_t height,struct iguana_msgvin *vins,struct iguana_msgvout *vouts);
cJSON *bitcoin_txtest(struct iguana_info *coin,char *rawtxstr,bits256 txid);
cJSON *iguana_blockjson(struct iguana_info *coin,struct iguana_block *block,int32_t txidsflag);
int32_t iguana_sig(uint8_t *sig,int32_t maxsize,uint8_t *data,int32_t datalen,bits256 privkey);
int32_t iguana_ver(uint8_t *sig,int32_t maxsize,uint8_t *data,int32_t datalen,bits256 pubkey);
extern queue_t bundlesQ;

43
iguana/iguana_pubkeys.c

@ -806,6 +806,33 @@ struct iguana_waddress *iguana_waddresscalc(uint8_t pubtype,uint8_t wiftype,stru
return(0);
}
int32_t iguana_ver(uint8_t *sig,int32_t siglen,uint8_t *data,int32_t datalen,bits256 pubkey)
{
struct bp_key key;
if ( bp_key_init(&key) != 0 && bp_pubkey_set(&key,pubkey.bytes,sizeof(pubkey)) != 0 )
{
if ( bp_verify(key.k,data,datalen,sig,siglen) != 0 )
return(0);
}
return(-1);
}
int32_t iguana_sig(uint8_t *sig,int32_t maxsize,uint8_t *data,int32_t datalen,bits256 privkey)
{
struct bp_key key; void *sigptr = NULL; size_t siglen = 0;
if ( bp_key_init(&key) != 0 && bp_key_secret_set(&key,privkey.bytes,sizeof(privkey)) != 0 )
{
if ( bp_sign(key.k,data,datalen,&sigptr,&siglen) != 0 )
{
if ( siglen < maxsize && sigptr != 0 )
{
memcpy(sig,sigptr,siglen);
return((int32_t)siglen);
} else free(sigptr);
}
}
return(-1);
}
/*char *iguana_txsign(struct iguana_info *coin,struct cointx_info *refT,int32_t redeemi,char *redeemscript,char sigs[][256],int32_t n,uint8_t privkey[32],int32_t privkeyind)
{
char hexstr[16384]; bits256 hash2; uint8_t data[4096],sigbuf[512]; struct bp_key key;
@ -1177,3 +1204,19 @@ cJSON *iguana_pubkeyjson(struct iguana_info *coin,char *pubkeystr)
cJSON *json = cJSON_CreateObject();
return(json);
}
void pktest()
{
bits256 p; uint8_t privkey,*pubkey,sig[128]; struct bp_key key; size_t pk_len,pubk_len; int32_t siglen;
bp_key_init(&key);
bp_key_generate(&key);
OS_randombytes(p.bytes,sizeof(privkey));
bp_privkey_set(&key,p.bytes,sizeof(privkey));
//bp_privkey_get(&key,(void **)&privkey,&pk_len);
bp_pubkey_get(&key,(void **)&pubkey,&pubk_len);
printf("pk_len.%ld\n",pubk_len);
siglen = iguana_sig(sig,sizeof(sig),(uint8_t *)"hello",(int32_t)strlen("hello"),p);
printf("siglen.%d\n",siglen);
//iguana_ver(uint8_t *sig,int32_t siglen,uint8_t *data,int32_t datalen,bits256 pubkey)
}

3
iguana/main.c

@ -310,7 +310,8 @@ void iguana_main(void *arg)
if ( ismainnet != 0 )
strcat(myinfo->NXTAPIURL,"7876/nxt");
else strcat(myinfo->NXTAPIURL,"6876/nxt");
void pktest();
pktest();
signal(SIGINT,sigint_func);
signal(SIGILL,sigillegal_func);
signal(SIGHUP,sighangup_func);

34
iguana/manifest.json

@ -1,25 +1,17 @@
{
"app": {
"background": {
"scripts": ["js/background.js"]
}
},
"name": "iguana",
"uri": "iguana.pexe",
"short_name": "iguana",
"version": "44.1.2",
"manifest_version": 2,
"name": "Iguana",
"version": "0.0.1",
"icons": {
"128": "icon128.png"
},
"minimum_chrome_version": "36",
"sockets": {
"tcp": {
"connect": "*"
},
"tcpServer": {
"listen": "*"
"description": "iguana",
"offline_enabled": true,
"icons": { "128": "icon128.png" },
"app":
{
"name": "iguana",
"background": { "scripts": ["background.js"] },
"sockets": { "tcp": { "connect": "" }, "tcpServer": { "listen": "127.0.0.1:*" } },
"permissions": [ "unlimitedStorage", "filesystem", "storage", "system.storage", "system.display", "system.network","system.cpu" ]
}
},
"permissions": [
"storage"
]
}

Loading…
Cancel
Save