Bitcoin Forum
July 11, 2024, 01:55:07 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 [104] 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 ... 363 »
2061  Bitcoin / Development & Technical Discussion / Re: sending rawtransaction in bitcoin testnet (double spend) on: November 06, 2016, 06:34:24 PM
Isn't there a way to use the bitcoin daemon I run on a server in testnetmode to send a double spend transaction?

Sorry.
I thought that you are asking "how to send conflicting transaction?"
not "how to send conflicting transaction with custom bitcoin client?"
2062  Local / Альтернативные криптовалюты / Re: Аналитика, анализ, прогнозы, новости. on: November 06, 2016, 08:09:38 AM
Ребят совета хочу спросить, есть ли смысл сейчас по крупной заходить в Эфириум?
"По крупной" - это сколько?
2063  Bitcoin / Development & Technical Discussion / Re: sending rawtransaction in bitcoin testnet (double spend) on: November 06, 2016, 06:25:09 AM
Could you explain me how to process the transactions
(I know how to create & sign them), but how to send them now?

This is very "dirty" piece of code, but it works.
Of course, this one is "for educational purposes only"

Code:
#include <QTimer>
#include <QDebug>
#include <QFile>
#include <QList>
#include <QByteArray>
#include <QDateTime>
#include <QHostAddress>
#include <QCoreApplication>
#include <QDataStream>

#include "Bitcoin.h"

#define _xtrace(X) qDebug ( ) << ( X )
#define _xassert(X) Q_ASSERT ( X )

#define MAGIC_ID  0x709110b

#define TYPE_VERSION ( "version" "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )
#define TYPE_VERACK  ( "verack"  "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )
#define TYPE_GETDATA ( "getdata" "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )
#define TYPE_PING    ( "ping"    "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )
#define TYPE_PONG    ( "pong"    "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )
#define TYPE_TX      ( "tx"      "\0\0" "\0\0\0\0" "\0\0\0\0" "\0\0\0\0" )

#define USER_AGENT          "/Satoshi:0.9.1/"
#define PROTO_VERSION       70002
#define PROTO_SERVICES      (1) // can be NODE_NETWORK

Bitcoin::Bitcoin ( const QByteArray& tx, QObject* parent) : QObject ( parent )
{
  this -> children = 0;
  this -> tx = tx;
  QTimer::singleShot ( 10, this, SLOT ( start ( ) ) );
}
//--------------------------------------------------------------
void Bitcoin::start ( )
{
  QFile conf ( "PushTxTool.conf" );
  _xassert ( conf.open ( QIODevice::ReadOnly ) );
  QByteArray data ( conf.readAll ( ) );
  data.replace ( '\n', ' ' );
  data.replace ( '\r', ' ' );
  data.replace ( '\t', ' ' );
  const QList<QByteArray> list ( data.split ( ' ' ) );
  for ( int i ( 0 ); i < list.size ( ); i++ )
    if ( !list.at ( i ).isEmpty ( ) )
    {
      static QSet<QByteArray> set;
      if ( !set.contains ( list.at ( i ) ) )
      {
        new NetSocket ( list.at ( i ), tx, this );
        children++;
        set.insert ( list.at ( i ) );
      }
      else
        _xtrace ( QString ( "err %1 ..." ).arg ( list.at ( i ).constData ( ) ) );
    }
}
//--------------------------------------------------------------
void Bitcoin::finished ( )
{
  if ( --children == 0 )
    QTimer::singleShot ( 10, this, SLOT ( done ( ) ) );
}
//--------------------------------------------------------------
void Bitcoin::done ( )
{
  _xtrace ( "-----------done------------" );
  QCoreApplication::exit ( );
}
//==============================================================
NetSocket::NetSocket ( const QByteArray& host, const QByteArray& tx, QObject* parent ) : QObject ( parent )
{
  this -> host = host;
  _xtrace ( QString ( "%1 ..." ).arg ( host.constData ( ) ) );
  this -> tx = tx;
  this -> socket = new QTcpSocket ( this );
  connect ( this, SIGNAL ( destroyed ( ) ), parent, SLOT ( finished ( ) ) );
  QTimer::singleShot ( 1, this, SLOT ( start ( ) ) );
}
//--------------------------------------------------------------
void NetSocket::start ( )
{
  _xtrace ( QString ( "%1 start ..." ).arg ( host.constData ( ) ) );
  connect ( socket, SIGNAL ( connected ( ) ), this, SLOT ( onConnected ( ) ) );
  connect ( socket, SIGNAL ( readyRead ( ) ), this, SLOT ( onReadyRead ( ) ) );
  connect ( socket, SIGNAL ( error ( QAbstractSocket::SocketError ) ), this, SLOT ( onError ( QAbstractSocket::SocketError ) ) );
  socket -> connectToHost ( host.constData ( ), 18333 );
}
//--------------------------------------------------------------
void NetSocket::onConnected ( )
{
  _xtrace ( QString ( "%1 connected" ).arg ( host.constData ( ) ) );
  write ( packet ( TYPE_VERSION, versionPacket ( 600000, USER_AGENT ) ) );
}
//--------------------------------------------------------------
void NetSocket::onReadyRead ( )
{
  QDataStream in ( socket );
  for ( qint64 length; (length = socket -> bytesAvailable ( )) >= 0; )
  {
    char data [length];
    const int read ( in.readRawData ( data, length ) );
    if ( read > 0 )
      buf.append ( data, read );
    else
      break;
  }
  for ( QByteArray b; buf.readPacket ( b ); )
    proc ( b );
  buf.squeeze ( );
}
//--------------------------------------------------------------
void NetSocket::proc ( const QByteArray& data )
{
  const char* type = data.constData ( ) + 4;
  if ( !strcmp ( type, "version" ) ) { procVersionPacket ( data ); return; }
  if ( !strcmp ( type, "verack"  ) ) { procVerackPacket  ( data ); return; }
}
//--------------------------------------------------------------
void NetSocket::onError ( QAbstractSocket::SocketError code )
{
  _xtrace ( QString ( "%1 : error %2" ).arg ( host.constData ( ) ).arg ( code ) );
  deleteLater ( );
}
//--------------------------------------------------------------
const QByteArray NetSocket::packet ( const char* type, const QByteArray& payload )
{
  return MyByteArray ( )
    .putInt32 ( MAGIC_ID )
    .putAscii_12 ( type )
    .putInt32 ( payload.size ( ) )
    .append ( MyKey32 ( payload.constData ( ), payload.size ( ) ).constData ( ), 4 )
    .append ( payload );
}
//--------------------------------------------------------------
const QByteArray NetSocket::versionPacket ( const int known, const char* ua ) const
{
  return MyByteArray ( )
    .putInt32 ( PROTO_VERSION )
    .putInt64 ( PROTO_SERVICES )
    .putInt64 ( QDateTime::currentMSecsSinceEpoch ( ) / 1000 )
    .putInt64 ( PROTO_SERVICES )
    .putInt64 ( 0 ) // date
    .putInt32 ( 0xFFFF0000 )
    .putInt32_be ( socket -> peerAddress ( ).toIPv4Address ( ) )
    .putInt16_be ( socket -> peerPort ( ) )
    .putInt64 ( 0 )
    .putInt64 ( 0 )
    .putInt32 ( 0xFFFF0000 )
    .putInt32 ( 0 )
    .putInt16_be ( 18333 )
    .putInt64 ( (quint64)qrand ( ) ^ QDateTime::currentMSecsSinceEpoch ( ) )
    .putVarAscii ( ua )
    .putInt32 ( known )
    .putInt8 ( 1 );
}
//--------------------------------------------------------------
void NetSocket::procVersionPacket ( const QByteArray& )
{
  write ( packet ( TYPE_VERACK, verackPacket ( ) ) );
}
//--------------------------------------------------------------
void NetSocket::procVerackPacket ( const QByteArray& )
{
  write ( packet ( TYPE_TX, txPacket ( tx ) ) );
  _xtrace ( QString ( "%1 sent %2" ).arg ( host.constData ( ) ).arg ( MyKey32 ( tx.constData ( ), tx.size ( ) ).toString ( ) ) );
  QTimer::singleShot ( 0, this, SLOT ( deleteLater ( ) ) );
}
//--------------------------------------------------------------
MyByteArray& MyByteArray::putVarInt ( const unsigned value )
{
  return ( value < 0xFD )    ? putInt8 ( value ) :
         ( value <= 0xFFFF ) ? putInt8 ( 0xFD ).putInt16 ( value ) :
                               putInt8 ( 0xFE ).putInt32 ( value );
}
//--------------------------------------------------------------
bool MyByteArray::readPacket ( QByteArray& buf )
{
  if ( size ( ) > 20 )
  {
    _xassert ( *(quint32*)(constData ( )) == MAGIC_ID );
    const int sz ( *(qint32*)(constData ( ) + 16) );
    if ( size ( ) >= ( 24 + sz ) )
    {
      buf = QByteArray ( constData ( ), 24 + sz );
      remove ( 0, 24 + sz );
      return true;
    }
  }
  return false;
}
2064  Local / Трейдеры / Re: Теханализ и не только on: November 04, 2016, 10:50:04 AM
скорее согласен ,но не такой уж и глухой а в широком коридоре
Да-да! Флэт в широком коридоре и повышенная волатильность!
Самый точный прогноз! Покрывает любые возможные кейсы.
2065  Bitcoin / Development & Technical Discussion / Re: Running pieces of blockchain in different hard drives on: November 03, 2016, 03:15:21 PM
Yes, but I see no way that would not work for blockchain data to have some on one drive and some on another.
old blk-files are immutable and [theoretically] can be hold even on R/O drives.
2066  Bitcoin / Development & Technical Discussion / Re: Running pieces of blockchain in different hard drives on: November 03, 2016, 02:59:13 PM
As of now, no, you cannot split up the blockchain like that.
Isn't there a technology based in operation system which allows to "mount" a directory with files or create symlinks?
(I am not interested in it, just asking)
2067  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 02:49:46 PM
когда биток будет 3000$ 200 битков это 600к$ или 30млн руб.
это всё что вы можете рассказать о своих трейдерских достижениях?  Grin
дурень думкой богатеет (с) русская поговорка
2068  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 02:35:37 PM
Едрён батон! Я на ремонт квртиры 60 кв.м. потратил 15 т.р. У тебя там что, замок?
не, двухкомнатная от дон-строя без отделки в новостройке. то есть не было даже стен.
там один холодильник навороченный, который жена захотела стоил вроде бы 150тыр.
но я жене доверяю и в чеки не заглядываю.
слушай, на 15 тыр даже одну люстру в наших палестинах приличную не купишь.
2069  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 02:32:05 PM
Амалклин оказывется ещё и богатый хакер.
Уже не очень. На ремонт квартиры почти все ушло.
Вы думаете я баксы или рубли коплю? Те же фантики, вид сбоку.
2070  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 02:29:06 PM
давайте лучше поговорим о том как ты продал за 400 )
ну по 400 я продал полтора биткойна (или половину? я не помню) - то что у меня было на тот момент
(могу даже попытаться транзакцию найти)
пару сотен битков я и по 250 продал и может еще меньше.
я ж не виноват, что когда мне бабки были нужны как раз битштамп ломанули и курс рухнул?
другое дело что эти пара сотен бтц мне и так на халяву достались.
так что я совершенно не страдаю - моя зафиксированная прибыль (то есть та прибыль
которая уже есть и которая никуда уже не пропадет ни при каких обстоятельствах) на
эпопее с биткойном - несколько десятков килобаксов.

Вы об этом хотели поговорить? Ну давайте расскажите мне о своих достижениях для сравнения.

2071  Local / Oбcyждeниe Bitcoin / Re: Потребительские свойства биткоина on: November 03, 2016, 02:21:18 PM
- владение биткоином удовлетворяет потребность в сопричастности к прогрессу и инновациям,
вот это хорошо сказано.

Quote
- владение биткоином удовлетворяет потребность в острых ощущениях (Никогда не знаешь, что будет завтра: "Ух ты! У меня стало на 20% больше денег!" или "Блин! 40% моих денег пропали!"),
тоже верно, но аргумент стремноватый - что-то близкое к азартным играм и казино.

Quote
- владение биткоином может удовлетворить потребность в возможности передать материальные ценности родным и друзьям в любую точку мира,
вот это плохой аргумент. сам биткойн не обеспечивает передачу материальных ценностей.
то есть если вы платите биткойнами, это вовсе не гарантирует, что мерчант доставит вам товар вообще, а тем более в любую точку мира.

Quote
- владение биткоином может удовлетворить потребность в защищённости сбережений от кражи,
ну я б поспорил... крадут ведь ещё как... так что этот аргумент слабенький

Quote
- владение биткоином может удовлетворить потребность в получении товаров и услуг в обход каких-нибудь санкций,
не рискуйте говорить. а то наложат на вас санкции за обход санкций

Quote
- владение биткоином может удовлетворить потребность в ощущении неподвластности моих сбережений никаким политическим силам.
ну как-то вы к концу темы исчерпали свою фантазию

если бы так с ходу я в вам предложил бы приравнять биткойны к предметам религиозного культа.
а что, спрашивается? освященную воду над которой кадилом помахали продавать типа можно, и это
не считается "не имеющим экономического смысла", а "байтики сатоши накамото" нельзя?


2072  Local / Новички / Re: Помогите разобраться с блокчейном битко&# on: November 03, 2016, 02:06:24 PM
я не могу найти подходящий русскоязычный форум,где бы обсуждалась техническая сторона
биткоина и блокчейна. я нашел хороший англоязычный форум, изучил документацию по
биткоину и эфириуму и имею некоторые представления о их работе,но вполне взможно,
что мой субъективный взгляд может расходится с реальностью,поэтому было бы неплохо
найти человека разбирающегося в этом всем.

Добро пожаловать во взрослый мир.

Во-первых, вам придется смириться с тем, что документации на русском языке может не быть.
Учите английский. Не, ну какие-то крупицы есть, но их приходится искать и в основном
это переводы (хорошо если не с помощью автоматического переводчика)
Есть довольно много информации "как настроить тот или иной майнер" - но вряд ли
это должно быть в дипломе. Тонкости "какой проводок отпаялся" и "какой термопастой
мазать чипы" - вас наверно тоже не очень интересуют.

Во-вторых, вам придется понять, что "субъективный взгляд" есть. А такого понятия как
"объективный взгляд" нет. В разных группах людей и в разные периоды времени
на один и тот же объект взгляды будут разные. Так что не ищите "человека говорящего
правду", а самостоятельно выработайте систему аксиом (утверждения которые вы не можете
доказать) и постройте на этом свои выводы и логические цепочки.
2073  Local / Новички / Re: Помогите разобраться с блокчейном битко&# on: November 03, 2016, 01:47:20 PM
Если тема на 2 абзаца,то почему у нас сейчас создаются специальные группы по изучению блокчейна?
Потому что создавать группы по изучению блокчейна - это не мешки ворочать.
Напомню, биткойн и блокчейн были явлены миру в том виде, в котором они существуют и поныне в 2009-ом году.
Что там "изучать"? Код программы?

Есть только одно объяснение. Изучают возможность, как с помощью "этой непонятной херни" наебать
еще какое-то количество лохопедов, пока те еще не успели сообразить, что их дурачат.
Ну и срубить бабла на сопутствующих технологиях. Как в том самом примере, что на Клондайке
основную прибыль получили не сами золотоискатели, а продавцы лопат.

Прежде,чем говорить,что блокчейн фуфло,нужно же разобраться что это есть на самом деле,
как работает, какие алгоритмы защиты используются,почему было решено так,а не иначе.тут далеко не пара абзацев)
Ну я-то разобрался "что это есть на самом деле и как работает"
Можете поискать в гугле "amaclin bitcoin" или "Alister Maclin bitcoin"
так что, наверно, могу что-то высказывать Smiley

Я просто не уверен, что вы написание диплома начали с подходящего форума.
2074  Local / Новички / Re: Помогите разобраться с блокчейном битко&# on: November 03, 2016, 01:28:18 PM
А есть русскоязычный форум не сектантов и вкладчиков?  Grin
Где можно обсудить блокчейн с адекватно смотрящими на него людьми?
Немного странное желание.
Ну вот, допустим, есть Аум Синрикё. Секта японского Сёке Асахары или как его там звали.
Мы с вами считаем это сектой. Всё. Точка. Обсуждать тут нечего. Зачем нам форум?
О чем мы там общаться будем?

Ну и собственно если получится доказательно развеять миф о неприменимости
блокчейна в отрыве от криптовалют это тоже неплохой результат для диплома.
Эх, где мои 17 лет?
Я б такой диплом забубенил...
Впрочем, тут тема на два абзаца - тут на курсовую работу не хватит, не то что на диплом.

Я лично рекомендовал бы самостоятельно проверять и оценивать все постулаты. В принципе,
скептики есть. Есть и даже откровенно "хейтерские" форумы, где народ стебётся над биткойнерами.
Но стёб - это тоже некая разновидность "сектанства". Полезной информации в стёбе ещё меньше, чем в вере.
2075  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 11:49:33 AM
следующая остановка 1000, потом 3000, а потом как бог даст
ты про курс или про нумерацию страниц в этом чатике?
2076  Local / Новички / Re: Помогите разобраться с блокчейном битко&# on: November 03, 2016, 11:36:24 AM
Я не бот. А студент,который пишет диплом на тему исследования блокчейна)
Хочу понять насколько оправдана вся эта шумиха вокруг блокчейна.
О, господи. Диплом...
Где ж такое задают?

Запомни. Биткойн и все криптовалюты - это пирамида типа МММ. И конец будет таким же.
А пришел ты на форум сектантов и вкладчиков.
Которые будут тебя убеждать что всё это не так.
2077  Local / Трейдеры / Re: Теханализ и не только on: November 03, 2016, 10:59:21 AM
Крутяк! Очень напоминает рекламы всяких фирм-однодневок фин. пирамид из 90-х!
А вы кто такой? Банкстер и хулитель передовых технологий?
Валите в свой фиат и не мешайте нам дурить лохов совершать технологический прорыв!
2078  Bitcoin / Development & Technical Discussion / Re: natural order of blocks in blk-files? on: November 03, 2016, 10:03:27 AM
Now, if they are not
They are not.

Quote
, it will require you to either know the index structure to be able to quickly look up the position of the next block,
Too difficult for single-pass parser

For example, the block order is ... 99, 100, 101, 200, 102, 103, ... 199, 201, 202, 203...

The easiest way for blockchain parser is to keep in memory the blocks which can not be added to
a memory-chain memory-tree for processing them later. I wanted to eliminate this routine
by asking bitcoin client save them in right order. OK, it is not possible today. I've already written a
code for linearization-on-the-fly. The topic can be closed.
2079  Bitcoin / Development & Technical Discussion / Re: different signatures for the same pk and message on: November 03, 2016, 08:40:53 AM
Is it normal that two (or more) different signatures can be created from the same privateKey & message?
yes

Quote
If so why?
because there is random parameter while creating signature

Quote
If it is because of the randomness feature of the ECDSA then why do I create the exact same
signature -everytime- I ran the signing code with the same private key & message above?
google for "deterministic ecdsa"
your software uses it
2080  Bitcoin / Development & Technical Discussion / Re: natural order of blocks in blk-files? on: November 03, 2016, 08:30:55 AM
That is good to know.
Pepe has seen some altcoins that have added a 4 byte index to the block headers to number the blocks according to their "height".
This way you can atleast know (during the linear parsing of the chain) that you stay "on track".
This is not a problem. Blocks are linked together with their hashes. No need to check the height field (and this field doesn't exists in early blocks)
Checking "staying on track" is very easy. Some pseudocode:

Code:
void process ( const Block& b )
{
  static Hash256 prev;
  assert ( block.getPrev ( ) == prev );
  prev = block.getKey ( );
// ...your code here...
}

The problem is "what to do with the block loaded from blk-file if it is not possible to link it right now to its parent, because the parent is below in blk-file"
Pages: « 1 ... 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 [104] 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 ... 363 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!