Более подробная информация о конструкции в соответствии с просьбой. Любой может представить обратную связь и предложить предложения.
BlockChainИнтерфейс для реализации PrimaryBlockChain и AuxiluryBlockChain объектов. Это уже завершено (будет обеспечен источник), эти методы должны быть реализованы при расширении этого объекта.
Защиту Submit (самость, решение):
Защиту Update (самостоятельно):
Защиту GetData (самостоятельно):
Защиту Set_OnSubmit (я, _call_back):
Защиту Set_OnUpdate (я, _call_back):
PrimaryBlockChainРеализует BlockChain интерфейс. Он используется объект Инженера как средство извлечения данных и представление блока для сети, в которой в настоящее время PoW выполняются.
Общедоступные методыОтправитьИнженер «представить» решение (ака: доля / блок) к объекту PrimaryBlockChain с помощью этого метода. Решение уже утверждено и завершено в submittable блока Инженера.
Это должно быть отложенным методом, когда программа не блокирует выполнение в то время как PrimaryBlockChain обрабатывает представление. Когда блок принимаются / отвергается метод, указанный «Set_OnSubmit» должен быть вызван с полученной информацией.
Если блок будет принят, объект PrimaryBlockChain должен выполнить запрос на обновление.
ОбновитьИнженер может вызывать этот метод при инициализации программы для начального построения шаблона блока. Кроме того, возможно, что этот метод может быть вызван инженером через внешний процесс (например, как новый механизм уведомления блока)
Это должно быть отложено, если программа не блокирует выполнение, пока PrimaryBlockChain ждет данных. После того как данные получены методом, указанный «Set_OnUpdate» должна быть вызвана с полученной информацией.
Получить данныеПозволяет по требованию извлечения из загруженных данных (кэшированные) с момента, когда последнее обновление было бежать. Этот метод может быть вызван Инженером при проверке кандидатов блока и может быть вызвано Poller при сравнении кэшированных данных с реальными данными.
Set_OnSubmitЭтот метод позволяет инженеру установить метод обратного вызова, который будет выполняться при успешной или неудачной подаче блока.
Set_OnUpdateЭтот метод позволяет инженер установить метод обратного вызова должен быть выполнен в любое время новых данных, полученные от питающей сети.
Вызов СпинкиЭти обратные вызовы, как установленные государственными методами работы «Set_OnXXXX».
Возвращает признак успешного или неудачного представления блока с блоком хэша и высотой в качестве дополнительной информации. Если представление не удалось, то никакие дополнительные данные не предусмотрен.
Возвращает пакет данных, содержащий всю информацию, необходимую для построения шаблона блока. В основном это должно быть безотносительно «getblocktemplate» возвращает RPC вызов.
Инициализация объектаКонструктор должен потребовать, чтобы объект RPC быть предусмотрены во время инициализации.
UpdaterВнутренний объект отвечает за извлечение данных с помощью «» getblocktemplate RPC вызова. Используется внедряющие объектами BlockChain и Poller.
Общедоступные методыОбновитьЭто то, что начинается сам процесс обновления «». Необязательный параметр, который передается с указанием, если это должно быть «принудительным» обновление (ложь по умолчанию).
Инициализация объектаКонструктор должен потребовать, чтобы объект RPC быть предусмотрены во время инициализации.
голосующийВнутренний объект отвечает за вручную сравнивая «prevhash», чтобы обнаружить новый блок и / или обновить дерево Меркла.
Общедоступные методыSetIntervalПояснения позволяют возможность задать интервал опроса.
Инициализация объектаКонструктор должен потребовать, чтобы объект RPC быть предусмотрены во время инициализации.
RPCОбновления, объекты Поллера и PrimaryBlockChain использовать это как средство общения с входной сетью. Это уже реализовано, следующие методы подвергаются:
Защита вызов (сам, метод, PARAMS):
Защиту submitblock (я, block_hex, hash_hex, raw_hex, метод num_retries):
Защиту GetInfo (самостоятельно):
Защиту getblocktemplate (я, num_retries):
Защита prevhash (самостоятельно):
Защиту validateaddress (самость, адрес):
Защиту getdifficulty (самостоятельно):
Защиту blockexists (самоповреждения, hash_hex):
Защиту set_getblocktemplate_pollformat (самость, формат):
Защиту set_has_submitblock (я, включен):