Author

Topic: NXT :: descendant of Bitcoin - Updated Information - page 2429. (Read 2761629 times)

legendary
Activity: 1334
Merit: 1004
TTM
Have a problem with version 0.3.15

secretPhrase=MY_SECRET

In my password uses ":,()*+' ", length 64 Grin

Client out that {"errorCode":3,"errorDescription":"\"host\" not specified"}
legendary
Activity: 2142
Merit: 1010
Newbie
Do u have a log of requests? Such a problem will arise if someone emulates web client responses. I see 2 ways to fix the issue - add timeout for pending interface requests & enable allowedUserHosts.
I set allowedUserHosts to 127.0.0.1, but I can still access http://fluke.airdns.org:7874/ , and of course I am not connecting from localhost. http://fluke.airdns.org:7874/nxt?requestType=getMyInfo returns my correct IP. Is that how it is supposed to work?
Code:
[2013-12-07 18:42:42.330] "allowedUserHosts" set to "127.0.0.1"
[2013-12-07 18:42:42.330] "allowedBotHosts" set to "*"

After a reboot, netstat doesn't show any CLOSE_WAIT connections, but about 2000 in TIME_WAIT at the moment.
I don't have a log of the http requests, are those being logged somewhere? I only have whatever is printed to nohup.out, I run it from nohup. Next time it accumulates CLOSE_WAIT junk, I can capture the list of IPs from netstat.


allowedUserHosts is not enabled yet. I'll add logging feature in 0.3.16. TIME_WAIT is normal behavior, what is the timeout btw?
sr. member
Activity: 392
Merit: 250
Do u have a log of requests? Such a problem will arise if someone emulates web client responses. I see 2 ways to fix the issue - add timeout for pending interface requests & enable allowedUserHosts.
I set allowedUserHosts to 127.0.0.1, but I can still access http://fluke.airdns.org:7874/ , and of course I am not connecting from localhost. http://fluke.airdns.org:7874/nxt?requestType=getMyInfo returns my correct IP. Is that how it is supposed to work?
Code:
[2013-12-07 18:42:42.330] "allowedUserHosts" set to "127.0.0.1"
[2013-12-07 18:42:42.330] "allowedBotHosts" set to "*"

After a reboot, netstat doesn't show any CLOSE_WAIT connections, but about 2000 in TIME_WAIT at the moment.
I don't have a log of the http requests, are those being logged somewhere? I only have whatever is printed to nohup.out, I run it from nohup. Next time it accumulates CLOSE_WAIT junk, I can capture the list of IPs from netstat.
legendary
Activity: 2142
Merit: 1010
Newbie
- What's a safe number of confirmations for a transaction to be trusted. I would assume that there being one block per minute, and keeping with bitcoin's 1 hour rule that would be 60 for fair trust level, but for rapid transaction processing (such as in a gambling site) what would be the minimum number of transactions?

10 Nxt confirmations ~ 1 BTC confirmation. If u send winnings and reference betting transactions (via "referencedTransaction" in "sendMoney" request) then both or none of the transactions will be confirmed (these r so-called chained transactions).


chained transactions only prevent part of the problem. The real issue comes from showing bet results too early, allowing the losing bets to be double spent and only the winning ones going through untouched. The effort in BTC terms to orphan an already propagated block are high enough to accept a single confirmation on low value transactions. I'm just trying to get a feel on what would the equivalent be in NXT terms.

Look at Instant transactions with guaranteed confirmation


- How are fees calculated? There's a 1NXT minimum fee per tx, if I read things correctly, but are there transaction size issues to be worried about? Block size?

Blocks r limited to 32 KiB. Reference soft takes into account size of transactions when sort them, ordinary payments r always 128 B long.


So what does that mean for fees? Is the rule atm a flat  1 NXT per tx?

1 NXT is minimum fee. This is transaction sorting algo - https://bitcointalksearch.org/topic/m.3776655 (the last piece of code).

- I don't see in the API a way to get the equivalent to the memory pool, a list of transactions waiting inclusion. Can I get that somehow?

This is not implemented, post ur request in API thread.


- Can I work with raw transactions? I would particularly need to be able to sign transactions "offline".

U can use "sendMoney" to get a transaction id. Then use "getTransactionBytes" to get raw bytes. Then go online and use "broadcastTransaction" (disabled atm).
In a pseudo-script language this would look like
Code:
broadcastTransaction(getTransactionBytes(sendMoney(transactionData)));
NB: U can broadcast any transactions making other peers to recall them.

What I was aiming for is as much independence from the client as possible, effectively implementing the code elsewhere. Thus creating the transaction using sendMoney would be great *if* I can get an unsigned raw tx, sign it in my code without using the ref client and then ask the client to propagate it. In other words, I need to ask the client for an unsigned transaction and I need to be told how signing is implemented so I can reproduce in my own code. Is any of this already available?

No. Post this request in API thread, please.

- Can I create accounts offline? I assume that we're talking about a simple double sha256 of the passphrase so what I'd need to do is create random passphrases and derive the account number from those? Will the network accept sending to any account address or is there any kind of "registration" message that needs to be propagated first?

Any 64 bit unsinged number can be used as a valid account id. If u need API for converting a passphrase into the account id then post this in API thread.

I really need a description of the process, not an API. This is yet another thing I must have done without depending on the ref client. Is there any explanation of the algorithm used?

Look at https://bitcointalksearch.org/topic/m.3759147
legendary
Activity: 2142
Merit: 1010
Newbie

exist 0.3.16 version??

Yes, I test new versions on my node.
legendary
Activity: 1246
Merit: 1000

exist 0.3.16 version??
legendary
Activity: 2142
Merit: 1010
Newbie
fluke.airdns.org ran out of file descriptors again. I bet we have a connection leak somewhere in the code, connections not being closed. There are godzillion of connections in CLOSE_WAIT state. I don't see a way to force those to timeout earlier by tweaking net.ipv4.tcp* settings, all I was able to quickly read on the topic suggests it is our application responsibility to take care of closing those. Anyone with more networking experience please feel free to suggest a fix.

Do u have a log of requests? Such a problem will arise if someone emulates web client responses. I see 2 ways to fix the issue - add timeout for pending interface requests & enable allowedUserHosts.
sr. member
Activity: 392
Merit: 250
fluke.airdns.org ran out of file descriptors again. I bet we have a connection leak somewhere in the code, connections not being closed. There are godzillion of connections in CLOSE_WAIT state. I don't see a way to force those to timeout earlier by tweaking net.ipv4.tcp* settings, all I was able to quickly read on the topic suggests it is our application responsibility to take care of closing those. Anyone with more networking experience please feel free to suggest a fix.

legendary
Activity: 1792
Merit: 1038
for some strange reason
Code:
     allowedBotHosts
    
does not allow "localhost" but seems allow "127.0.0.1"
legendary
Activity: 2142
Merit: 1010
Newbie
I bet ur local host looks like "0:0:0:0:0:0:0:1". Look there.
- no, it looks:
Code:
{"host":"127.0.0.1","address":"127.0.0.1"}

There we go.
legendary
Activity: 1540
Merit: 1002
- What's a safe number of confirmations for a transaction to be trusted. I would assume that there being one block per minute, and keeping with bitcoin's 1 hour rule that would be 60 for fair trust level, but for rapid transaction processing (such as in a gambling site) what would be the minimum number of transactions?

10 Nxt confirmations ~ 1 BTC confirmation. If u send winnings and reference betting transactions (via "referencedTransaction" in "sendMoney" request) then both or none of the transactions will be confirmed (these r so-called chained transactions).


chained transactions only prevent part of the problem. The real issue comes from showing bet results too early, allowing the losing bets to be double spent and only the winning ones going through untouched. The effort in BTC terms to orphan an already propagated block are high enough to accept a single confirmation on low value transactions. I'm just trying to get a feel on what would the equivalent be in NXT terms.

- How are fees calculated? There's a 1NXT minimum fee per tx, if I read things correctly, but are there transaction size issues to be worried about? Block size?

Blocks r limited to 32 KiB. Reference soft takes into account size of transactions when sort them, ordinary payments r always 128 B long.


So what does that mean for fees? Is the rule atm a flat  1 NXT per tx?

- I don't see in the API a way to get the equivalent to the memory pool, a list of transactions waiting inclusion. Can I get that somehow?

This is not implemented, post ur request in API thread.


- Can I work with raw transactions? I would particularly need to be able to sign transactions "offline".

U can use "sendMoney" to get a transaction id. Then use "getTransactionBytes" to get raw bytes. Then go online and use "broadcastTransaction" (disabled atm).
In a pseudo-script language this would look like
Code:
broadcastTransaction(getTransactionBytes(sendMoney(transactionData)));
NB: U can broadcast any transactions making other peers to recall them.

What I was aiming for is as much independence from the client as possible, effectively implementing the code elsewhere. Thus creating the transaction using sendMoney would be great *if* I can get an unsigned raw tx, sign it in my code without using the ref client and then ask the client to propagate it. In other words, I need to ask the client for an unsigned transaction and I need to be told how signing is implemented so I can reproduce in my own code. Is any of this already available?

- Can I create accounts offline? I assume that we're talking about a simple double sha256 of the passphrase so what I'd need to do is create random passphrases and derive the account number from those? Will the network accept sending to any account address or is there any kind of "registration" message that needs to be propagated first?

Any 64 bit unsinged number can be used as a valid account id. If u need API for converting a passphrase into the account id then post this in API thread.

I really need a description of the process, not an API. This is yet another thing I must have done without depending on the ref client. Is there any explanation of the algorithm used?
legendary
Activity: 1792
Merit: 1038
I bet ur local host looks like "0:0:0:0:0:0:0:1". Look there.
- no, it looks:
Code:
{"host":"127.0.0.1","address":"127.0.0.1"}
legendary
Activity: 2142
Merit: 1010
Newbie
I'm talking about an asterisk, not ur secret phrase. Or put there ur host u connect from.
-an asterisk allows to connect any peer, doesn't it ?
I have put 'localhost' there (I connect from the same Win7 computer), it doesn't help to obtain a hallmark, I still receive "Not allowed" response.

I bet ur local host looks like "0:0:0:0:0:0:0:1". Look there.
legendary
Activity: 1792
Merit: 1038
I'm talking about an asterisk, not ur secret phrase. Or put there ur host u connect from.
-an asterisk allows to connect any peer, doesn't it ?
I have put 'localhost' there (I connect from the same Win7 computer), it doesn't help to obtain a hallmark, I still receive "Not allowed" response.
legendary
Activity: 2142
Merit: 1010
Newbie
Put "*" between "><".
- hmm..  Why I need to do this?   another peer ("Bot") could steal my secret phrase from plain text http request to my server (localhost).

I'm talking about an asterisk, not ur secret phrase. Or put there ur host u connect from.
legendary
Activity: 1792
Merit: 1038
Put "*" between "><".
- hmm..  Why I need to do this?   another peer ("Bot") could steal my secret phrase from plain text http request to my server (localhost).
legendary
Activity: 2142
Merit: 1010
Newbie
"Not allowed" is sent if "allowedBotHosts" set.
- I have
Code:
     allowedBotHosts
     
in my web.xml. Does it set "allowedBotHosts" ?

Put "*" between "><".
legendary
Activity: 1792
Merit: 1038
"Not allowed" is sent if "allowedBotHosts" set.
- I have
Code:
     allowedBotHosts
     
in my web.xml. Does it set "allowedBotHosts" ?
legendary
Activity: 2142
Merit: 1010
Newbie
Do u announce ur IP via "myAddress" in web.xml?
No.

PS: Try https://dl.dropboxusercontent.com/u/67242472/nxtfiles.zip, it contains blockchain at height 10058.
Doesn't help, I stuck on 10075.

BTW, there's very small number of nodes: 88.198.210.245, 146.185.168.142,    87.230.14.1, nxt.c4c.io, 54.196.0.71, nxt.airdns.org, fluce.airdns.org, 69.146.88.14. That's all.

90% of all nodes r zombie nodes controlled by the hacker who helps to test the network.

Try
1. Stop soft.
2. Delete peers.nxt.
3. Start soft.
several times.

Edit: Also remove all well known peers from web.xml except 88.198.210.245.
legendary
Activity: 2142
Merit: 1010
Newbie
- What's a safe number of confirmations for a transaction to be trusted. I would assume that there being one block per minute, and keeping with bitcoin's 1 hour rule that would be 60 for fair trust level, but for rapid transaction processing (such as in a gambling site) what would be the minimum number of transactions?

10 Nxt confirmations ~ 1 BTC confirmation. If u send winnings and reference betting transactions (via "referencedTransaction" in "sendMoney" request) then both or none of the transactions will be confirmed (these r so-called chained transactions).


- How are fees calculated? There's a 1NXT minimum fee per tx, if I read things correctly, but are there transaction size issues to be worried about? Block size?

Blocks r limited to 32 KiB. Reference soft takes into account size of transactions when sort them, ordinary payments r always 128 B long.


- I don't see in the API a way to get the equivalent to the memory pool, a list of transactions waiting inclusion. Can I get that somehow?

This is not implemented, post ur request in API thread.


- Can I work with raw transactions? I would particularly need to be able to sign transactions "offline".

U can use "sendMoney" to get a transaction id. Then use "getTransactionBytes" to get raw bytes. Then go online and use "broadcastTransaction" (disabled atm).
In a pseudo-script language this would look like
Code:
broadcastTransaction(getTransactionBytes(sendMoney(transactionData)));
NB: U can broadcast any transactions making other peers to recall them.


- Can I create accounts offline? I assume that we're talking about a simple double sha256 of the passphrase so what I'd need to do is create random passphrases and derive the account number from those? Will the network accept sending to any account address or is there any kind of "registration" message that needs to be propagated first?

Any 64 bit unsinged number can be used as a valid account id. If u need API for converting a passphrase into the account id then post this in API thread.
Pages:
Jump to: