Author

Topic: Синтаксический сахар (Read 1350 times)

legendary
Activity: 1200
Merit: 1021
January 20, 2017, 07:50:01 AM
#12
Непотраченные транзакции хранятся в отдельной базе и их все видят функцией getrawtransaction которая быстро ищет по этой базе

Не совсем так Smiley Все транзакции хранятся в одной базе - файлах blkxxxxx.dat

Насколько я понял, по умолчанию индексируются только coinbase-транзакции и свои транзакции, поэтому они доступны команде getrawtransaction.

При включении параметра -txindex=1 кошель индексирует все транзакции - и свои, и чужие.
legendary
Activity: 1260
Merit: 1019
January 20, 2017, 07:47:25 AM
#11
А, кажись дошло.
Непотраченные транзакции хранятся в отдельной базе и их все видят функцией getrawtransaction которая быстро ищет по этой базе
Потраченные транзакции хранятся где-то в недрах блокчейна, откуда
их вытащить можно только парсингом всех блоков. Чтобы их можно было вытаскивать быстрее, придумали флаг txindex. Правильно?
в целом да.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
January 20, 2017, 07:37:33 AM
#10
А, кажись дошло.
Непотраченные транзакции хранятся в отдельной базе и их все видят функцией getrawtransaction которая быстро ищет по этой базе
Потраченные транзакции хранятся где-то в недрах блокчейна, откуда их вытащить можно только парсингом всех блоков. Чтобы их можно было вытаскивать быстрее, придумали флаг txindex. Правильно?
legendary
Activity: 1200
Merit: 1021
January 20, 2017, 07:37:07 AM
#9
В смысле не хранит в отдельной базе? А с этим ключем все транзакции записываются в отдельную базу?

Создаётся дополнительный индекс, который позволяет искать транзакцию в базе по её ID.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
January 20, 2017, 07:25:10 AM
#8
Круто!
А я грешным делом сначала вызывал getrawtransaction а потом decoderawtransaction... А оно вон оно чо михалыч )))

Не в этом дело. Клиент не хранит (если не указать -txindex=1) данные о полностью потраченных
транзакциях. Ибо если транзакция потрачена - это ничем не отличается от того, что её нет.
Конечно, для всяких анализов и блок-эксплореров надо индексировать все транзакции. Ну вот этот ключик в помощь

В смысле не хранит в отдельной базе? А с этим ключем все транзакции записываются в отдельную базу?
В блокчейне же все транзакции есть и у синхронизированного клиента есть весь блокчейн, а значит и все транзакции. Зачем городить еще одну отдельную базу, если все можно сделать без нее?
legendary
Activity: 1260
Merit: 1019
January 20, 2017, 07:15:03 AM
#7
Круто!
А я грешным делом сначала вызывал getrawtransaction а потом decoderawtransaction... А оно вон оно чо михалыч )))

Не в этом дело. Клиент не хранит (если не указать -txindex=1) данные о полностью потраченных
транзакциях. Ибо если транзакция потрачена - это ничем не отличается от того, что её нет.
Конечно, для всяких анализов и блок-эксплореров надо индексировать все транзакции. Ну вот этот ключик в помощь
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
January 20, 2017, 06:59:09 AM
#6
Так-то бы разобраться как туда коммитить, я бы тоже поправил gettransaction, чтобы оно не только транзы из кошелька видело.
а оно разве не видит? -txindex=1 спасет гиганта мысли

Круто!
А я грешным делом сначала вызывал getrawtransaction а потом decoderawtransaction... А оно вон оно чо михалыч )))
legendary
Activity: 1260
Merit: 1019
January 20, 2017, 06:52:32 AM
#5
Так-то бы разобраться как туда коммитить, я бы тоже поправил gettransaction, чтобы оно не только транзы из кошелька видело.
а оно разве не видит? -txindex=1 спасет гиганта мысли
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
January 20, 2017, 06:38:29 AM
#4
Ну народ хочет в историю войти ))

Мне кстати один крупный работодатель говорил лет пять назад еще, что одним из критериев отбора для него является непустой профиль на гитхабе и участие не только в своих пректах...
Я тогда про гитхаб вроде впервые и услышал.

Так-то бы разобраться как туда коммитить, я бы тоже поправил gettransaction, чтобы оно не только транзы из кошелька видело.
legendary
Activity: 1260
Merit: 1019
January 20, 2017, 06:19:41 AM
#3
Не, а зачем?
Я вообще ничего конкретного не искал, просто посмотрел чем биткойн-девелоперы заняты

Вот здесь человек нашел в коде четыре точки-с-запятой лишние и убрал.
https://github.com/bitcoin/bitcoin/pull/9556
Карл, это охуеть как круто. Ради этого стоило жить. Чтобы убрать четыре точки-с-запятой.

А сорцы древнего биткойна я немного смотрел. Вот отсюда скачивал:
http://www.bitcointrading.com/forum/bitcoin-clients/original-bitcoin-source-code-archives/
Но тебе за ссылки тоже спасибо
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
legendary
Activity: 1260
Merit: 1019
January 20, 2017, 05:09:58 AM
#1
Залез тут в пул-реквесты биткойна и охуел мальца
Я, конечно, понимаю, язык си++ совершенствуется и улучшается...

Но я нихера не понимаю.
Зачем менять шило на мыло?

Возьмем коммит
https://github.com/bitcoin/bitcoin/pull/9557/commits/0eb2e5c1a4a8ef4a45c6e590eab6e87527405025

Давайте бля, везде конструкцию char(0) заменим на более православную static_cast(0)
Это вам так код напичканный скобочками и служебными словами читать проще стало?
или в компиляторе что-то поменялось? Ребяты, я уж лучше напишу по рабоче-крестьянски '\0'

И будет код работать хоть в си, хоть в си++11, хоть в си++99

Jump to: