Bitcoin Forum
May 23, 2024, 12:14:38 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Programação - bloco atual  (Read 2578 times)
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
October 02, 2014, 09:18:38 PM
 #1

Desconectei a internet do meu pc e iniciei o bitcoin de maneira limpa
Ele diz que está no bloco 0 e falta 5 anos de blocos pra baixar
Da onde ele tirou isso?
Já vem na programação o número do bloco que existia quando a versão foi compilada?
Eu esperava que ele dissesse que estava sincronizado com 0 bloco e aguardando novos peers
Eu tinha até preparado um outro pc com o programa limpo pra ver se eles conversavam...
Mas nem tentei depois dessa...
algorista
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


It's got electrolytes


View Profile
October 03, 2014, 06:58:23 AM
 #2

No fonte há a data do bloco genesis (Sat, 03 Jan 2009 18:15:05 GMT)* então o resto é uma conta simples*.

Faça o mesmo experimento alterando o calendário do seu computador.

Quanto ao outro cliente em rede eu acredito que não seria encontrado nem mesmo estando ambos na internet.
Para haver a comunicação pela rede local voce precisaria editar o arquivo bitcoin.conf e adicionar uma linha "addnode=<SEU IP>"

* https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L89
* https://github.com/bitcoin/bitcoin/blob/master/src/qt/bitcoingui.cpp#L693

+---------=====[ Rm 12:21 ]=====---------+
girino
Legendary
*
Offline Offline

Activity: 2296
Merit: 1170


Advertise Here - PM for more info!


View Profile
October 03, 2014, 02:40:27 PM
 #3

No fonte há a data do bloco genesis (Sat, 03 Jan 2009 18:15:05 GMT)* então o resto é uma conta simples*.

Faça o mesmo experimento alterando o calendário do seu computador.

Quanto ao outro cliente em rede eu acredito que não seria encontrado nem mesmo estando ambos na internet.
Para haver a comunicação pela rede local voce precisaria editar o arquivo bitcoin.conf e adicionar uma linha "addnode=<SEU IP>"

* https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L89
* https://github.com/bitcoin/bitcoin/blob/master/src/qt/bitcoingui.cpp#L693


Tem também o problema dos checkpoints. Se seu objetivo for fazer uma rede "paralela" de bitcoin, assim que ele atingir o primeiro checkpoint ele vai "forkar".

Advertise Here - PM for more info!
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
October 03, 2014, 06:31:42 PM
 #4

Tem também o problema dos checkpoints. Se seu objetivo for fazer uma rede "paralela" de bitcoin, assim que ele atingir o primeiro checkpoint ele vai "forkar".
Pode explicar melhor? Eu sei o que é forkar. Só não entendi a parte dos checkpoints.

Quanto ao outro cliente em rede eu acredito que não seria encontrado nem mesmo estando ambos na internet.
Porque?
girino
Legendary
*
Offline Offline

Activity: 2296
Merit: 1170


Advertise Here - PM for more info!


View Profile
October 03, 2014, 09:39:08 PM
 #5

Tem também o problema dos checkpoints. Se seu objetivo for fazer uma rede "paralela" de bitcoin, assim que ele atingir o primeiro checkpoint ele vai "forkar".
Pode explicar melhor? Eu sei o que é forkar. Só não entendi a parte dos checkpoints.

http://www.justfuckinggoogleit.com/search/bitcoin+checkpoints

Advertise Here - PM for more info!
algorista
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


It's got electrolytes


View Profile
October 04, 2014, 12:26:56 AM
 #6

Quanto ao outro cliente em rede eu acredito que não seria encontrado nem mesmo estando ambos na internet.
Porque?

O Bitcoin possui um esquema de discovery que não privilegia a rede local, para encontrar os nodes é usada uma lista inicial de IPs contida no arquivo peers.dat e também em alguns DNS definidos no código fonte, versões antigas também usavam um canal IRC para encontrar os nodes (mas essa funcionalidade foi desabilitada).
A lista de nodes (peers.dat) é atualizada dinamicamente ao conseguir conectar a qualquer node, requisitando a este que informe sua lista de outros nodes.

No peers.dat inicialmente não há nenhum ip de rede local (192.168.x.x, 10.x.x.x, 172.16-31.x.x) por isso os nodes da rede local não são encontrados automaticamente, você precisa informá-los no arquivo bitcoin.conf.

Talvez também seja possível executar o comando addnode ou connect pelo console, mas nunca tentei.

https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery
https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L97-L102

+---------=====[ Rm 12:21 ]=====---------+
girino
Legendary
*
Offline Offline

Activity: 2296
Merit: 1170


Advertise Here - PM for more info!


View Profile
October 04, 2014, 12:38:19 AM
 #7

Quanto ao outro cliente em rede eu acredito que não seria encontrado nem mesmo estando ambos na internet.
Porque?

O Bitcoin possui um esquema de discovery que não privilegia a rede local, para encontrar os nodes é usada uma lista inicial de IPs contida no arquivo peers.dat e também em alguns DNS definidos no código fonte, versões antigas também usavam um canal IRC para encontrar os nodes (mas essa funcionalidade foi desabilitada).
A lista de nodes (peers.dat) é atualizada dinamicamente ao conseguir conectar a qualquer node, requisitando a este que informe sua lista de outros nodes.

No peers.dat inicialmente não há nenhum ip de rede local (192.168.x.x, 10.x.x.x, 172.16-31.x.x) por isso os nodes da rede local não são encontrados automaticamente, você precisa informá-los no arquivo bitcoin.conf.

Talvez também seja possível executar o comando addnode ou connect pelo console, mas nunca tentei.

https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery
https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L97-L102


 o addnode pelo console funciona, mas demooooora.. acho que ele coloca o node com baixa prioridade ou algo assim, e demora quase uns 10 minutos até a primeira tentativa de conexão nele (dá pra vigiar no log)....

Advertise Here - PM for more info!
algorista
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


It's got electrolytes


View Profile
October 04, 2014, 12:50:48 AM
 #8

o addnode pelo console funciona, mas demooooora.. acho que ele coloca o node com baixa prioridade ou algo assim, e demora quase uns 10 minutos até a primeira tentativa de conexão nele (dá pra vigiar no log)....

Será que essa demora não é por causa do limite de 8 conexões (MAX_OUTBOUD_CONNECTION) ? pensando aqui acho que o client só vai tentar uma nova conexão quando uma das 8 desconectar.

Vou testar isso, agora fiquei curioso  Grin


+---------=====[ Rm 12:21 ]=====---------+
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
October 05, 2014, 05:10:22 AM
 #9

tem como aumentar o limite de conexões?
Da pra editar o peers.dat?
JeisonDras
Newbie
*
Offline Offline

Activity: 55
Merit: 0


View Profile
October 05, 2014, 10:59:00 AM
 #10

tem como aumentar o limite de conexões?
Da pra editar o peers.dat?

maxconnections=10 ? ou 20 ? talvez uns 200 ?

aqui tem uma lista com mtus nodes
agora tem um total de 468 conectados

e aqui uma lista de comandos pra vc usar...
FabioCarpi (OP)
Sr. Member
****
Offline Offline

Activity: 375
Merit: 254



View Profile
October 05, 2014, 11:46:27 AM
 #11

a opção maxconnections=10 não funciona...
Adriano
Moderator
Legendary
*
Offline Offline

Activity: 1285
Merit: 1085



View Profile
October 05, 2014, 12:12:44 PM
 #12

o addnode pelo console funciona, mas demooooora.. acho que ele coloca o node com baixa prioridade ou algo assim, e demora quase uns 10 minutos até a primeira tentativa de conexão nele (dá pra vigiar no log)....

Será que essa demora não é por causa do limite de 8 conexões (MAX_OUTBOUD_CONNECTION) ? pensando aqui acho que o client só vai tentar uma nova conexão quando uma das 8 desconectar.

Vou testar isso, agora fiquei curioso  Grin



Neste caso a melhor opção é utilizar connect ao invés de addnode. Eu utilizo uma configuração parecida, onde tenho um node executando 24x7 normalmente e em meu laptop conecto via connect neste node quando inicializo o bitcoind.

A diferença é que o connect vai conectar apenas no host informado (nome dns ou IP, tanto faz) enquanto que o addnode vai "simular" que o host estava no peers.dat e fazer o processo comum de conectar nele e tentar conectar em outros peers.

Quanto à demora quando se está utilizando peers através da console, imagino que esteja sim relacionado ao número máximo de conexões. Creio que se a opção estiver incluida no arquivo de configuração durante a inicialização do daemon não haverá demora... de preferência com o arquivo peers.dat zerado ou inexistente.


Abraço,


Adriano

--
Adriano
Moderator
Legendary
*
Offline Offline

Activity: 1285
Merit: 1085



View Profile
October 05, 2014, 12:17:35 PM
 #13

tem como aumentar o limite de conexões?
Da pra editar o peers.dat?

maxconnections=10 ? ou 20 ? talvez uns 200 ?

aqui tem uma lista com mtus nodes
agora tem um total de 468 conectados

e aqui uma lista de comandos pra vc usar...

Esta lista do blockchain.info é "apenas" dos nodes conectados aos servidores deles... digo apenas porque são muitos comparados a qualquer node em execução.

Para ter uma ideia melhor do número de nodes na rede, eu utilizo https://getaddr.bitnodes.io/ (além de poder navegar entre as diversas informações - endereço IP, versão, localização, data center, etc). Agora são quase 8000 nodes ativos.


Abraço,


Adriano

--
algorista
Hero Member
*****
Offline Offline

Activity: 882
Merit: 1000


It's got electrolytes


View Profile
October 05, 2014, 05:31:41 PM
 #14

a opção maxconnections=10 não funciona...

Essa opção só afeta as conexões recebidas, para alterar as conexões efetuadas (o limite de 8 ) só alterando no código fonte e recompilando.

+---------=====[ Rm 12:21 ]=====---------+
girino
Legendary
*
Offline Offline

Activity: 2296
Merit: 1170


Advertise Here - PM for more info!


View Profile
October 05, 2014, 09:05:18 PM
 #15

a opção maxconnections=10 não funciona...

Essa opção só afeta as conexões recebidas, para alterar as conexões efetuadas (o limite de 8 ) só alterando no código fonte e recompilando.

e usando windows server também.. windows home também limita as conexões por processo.

Advertise Here - PM for more info!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!