Bitcoin Forum
November 08, 2024, 05:26:02 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: BtcIO - Опенсорсный, холодный, BTC-кошелёк  (Read 355 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
avadhuta (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 11


View Profile
January 29, 2021, 02:38:32 PM
Last edit: March 27, 2021, 03:55:32 PM by avadhuta
Merited by xandry (2), klarki (1)
 #1

Десктопная апка(консольная и GUI) для виндовс и линукс на .NET CORE для того что бы быстро генерировать приваты и адреса по сиду, смотреть балансы и слать транзакции, со своих приватов и кошельков.

Гитхаб https://github.com/avadhuta/BtcIO/releases

Пример использования с тестовой сетью(с майновой работает аналогично):

Для консоли https://youtu.be/Mnm2dWqRP8g

Для варианта с GUI https://youtu.be/JiTr551-veE


Используются библиотека NBitcoin, а также API blockcypher.com.

screenshots:
https://i.imgur.com/ZxuXYuV.jpeg
https://i.imgur.com/6evZ7YW.jpeg
https://i.imgur.com/M8tslVi.jpg
https://i.imgur.com/kjvhsnS.jpg
~DefaultTrust
Copper Member
Sr. Member
****
Offline Offline

Activity: 1554
Merit: 489

Stop the war!


View Profile
January 29, 2021, 02:48:48 PM
 #2

используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.

обычно АПИ сторонних сервисов имеют ограничения для количества запросов и могут меняться всяко разно без уведомлений.
Все таки RPC родного кошелька надежней будет. Синхронизироваться можно в prune mode если "винт не резиновый". Хотя, если серьезно к делу подходить, то лучше не пожалеть 15 тыщь на гигабайтный ssd который закриптовать трукриптом и целиком пустить под блокчейн проекты.

Do not trust bitcointalk fascists: leonello; Snork1979; ivan1975
avadhuta (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 11


View Profile
January 29, 2021, 05:19:23 PM
 #3

используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.

обычно АПИ сторонних сервисов имеют ограничения для количества запросов и могут меняться всяко разно без уведомлений.
Все таки RPC родного кошелька надежней будет. Синхронизироваться можно в prune mode если "винт не резиновый". Хотя, если серьезно к делу подходить, то лучше не пожалеть 15 тыщь на гигабайтный ssd который закриптовать трукриптом и целиком пустить под блокчейн проекты.
Согласен, RPC конечно надежнее, у кого блокчейн битка постоянно в сети или хотя бы каждый день обновляться и в коре синхронизация\доступ к средствам за 5 мин происходит. Если какая нить биржа, обменник, или сервис некий, то разумеется RPC.

Ну а если с ноута или планшета, отправить, посмотреть баланс, раз в месяц, то уж простите это перебор, а веб-кошельки даже такие уважаемые как blockchain.com/wallet могут тоже в любой момент учудить КИС или что то подобное, страшно. Помнится я как то 2fa потерял пароль к веб кошельку, не очень весело было. Приваты доверять кому то стрёмно.

Я вообще эту утилитку сделал когда разбирался как транзакции формировать и с битком в .net работать, по началу тоже и не думал гонять раельный биток собственной поделкой, только тестовый. А потом попробовал и оказалось достаточно удобно, по сравнению с кором, из за ожидания загрузки, так как я редко гоняю биток с биржи- на биржу, может раз в пол года, обычно когда движуха сильная на рынке, как недавно была и приходится долго ждать когда десятки гигов зальются.
Ar4ibass
Newbie
*
Offline Offline

Activity: 7
Merit: 2


View Profile WWW
February 08, 2021, 09:12:12 AM
 #4

В общем написал я пару лет назад для собственного пользования, утилитку на .NET для того что бы быстро генерировать приваты и адреса, смотреть балансы, а главное слать битковые транзакции, со своих приватов.

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

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

Вот пример её работы:

https://d.radikal.ru/d41/2101/98/869d6d46bfbf.jpg

Если возникнет интерес, выложу на гитхаб код и бинарники для винды и линукса, код очень простой, без ООП-излишеств и GUI в отличии от аналогов, можно проверить за 10 минут, что там нет никаких подлянок в виде пересылок wif мне на почту и тп.,

Понятно что такие апки без исходников не имеют смысла, хотя "профессиональные" опенсорс проекты за 50к строк кода тоже могут таить подводные камни, проверять такое творчество придётся месяцами, а у меня функция отправки транзакции несколько десятков строк, используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.
может из этого отдельный кейс сделать? или вообще мобильную апку?
gov
Member
**
Offline Offline

Activity: 196
Merit: 40


View Profile
February 10, 2021, 10:18:53 AM
 #5

В общем написал я пару лет назад для собственного пользования, утилитку на .NET для того что бы быстро генерировать приваты и адреса, смотреть балансы, а главное слать битковые транзакции, со своих приватов.

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

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

Вот пример её работы:



Если возникнет интерес, выложу на гитхаб код и бинарники для винды и линукса, код очень простой, без ООП-излишеств и GUI в отличии от аналогов, можно проверить за 10 минут, что там нет никаких подлянок в виде пересылок wif мне на почту и тп.,

Понятно что такие апки без исходников не имеют смысла, хотя "профессиональные" опенсорс проекты за 50к строк кода тоже могут таить подводные камни, проверять такое творчество придётся месяцами, а у меня функция отправки транзакции несколько десятков строк, используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.
Картинка на первый взгляд выглядит устрашающе, как хардовое сисадминство.

Если хотите что бы программа была интересной другим, а не только вам лично, сделайте её предельно простой, без JSON и бинарного кода в ответах, вы что издеваетесь?

Кроме того ИМХО десктоп уже не в тренде, 90% пипла всё делают на смартфонах и вебе на крайняк, процесс "скачивания" или "инсталяции" остался в 20м веке, всё в браузере должно быть, никакого напряга, общее настроение такое: "пипил кайф ловит, а между делом на тусовке с депутатами и фотомоделями, одним касанием пальчика по экрану, миллионы баксов делает на битке", такова новая парадигма, никакого напряга, всё в кайф, без мышек, клавиатур и консолей, это ключ к юзеру 21го века.
neiros
Legendary
*
Offline Offline

Activity: 3556
Merit: 1100



View Profile WWW
February 11, 2021, 02:49:09 AM
 #6


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

Это характеристика очень гнилых и безответственный юзеров.
Когда одно касание пальчика стоит очень большое количество человекочасов реально проделанной работы, юзер должен понимать, что произойдет в последствии и как скоро.

gov
Member
**
Offline Offline

Activity: 196
Merit: 40


View Profile
February 11, 2021, 01:23:05 PM
 #7


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

Это характеристика очень гнилых и безответственный юзеров.
Когда одно касание пальчика стоит очень большое количество человекочасов реально проделанной работы, юзер должен понимать, что произойдет в последствии и как скоро.
Не согласен с вами. Юзер как раз не должен понимать потроха вещей которыми пользуется, юзеру не нужно понимать как работает двигатель его машины что бы ездить, веб-разработчику как устроен процессор и память его планшета, а бабуле каким образом на её пенсионную карточку приходит пенсия каждый месяц.

Успех нового софта напрямую зависит от удобства использования юзером, это важнее всего прочего, рекламы, команды и тд. Причем юзер предполагается совсем наивный, ребёнок 10 лет со смартфоном или чуток диментная бабуля совецкого воспитания, все они должны быть в состоянии разораться с софтом, максимум за пол часа, тогда это будет бомба.

На картинке же топик-стартера бинарный код в консоли. Shocked Shocked Shocked
Excimer
Sr. Member
****
Offline Offline

Activity: 1134
Merit: 335


View Profile
February 23, 2021, 12:57:15 PM
 #8

может из этого отдельный кейс сделать? или вообще мобильную апку?
Тебе зачем? Им виднее, они кодеры. Ты лучше передай лудоману Дмитрию Васильеву чтобы деньги вернул
avadhuta (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 11


View Profile
February 25, 2021, 11:25:52 AM
Last edit: February 25, 2021, 02:47:50 PM by avadhuta
Merited by neiros (5), Symmetrick (2), klarki (1)
 #9

может из этого отдельный кейс сделать? или вообще мобильную апку?

Картинка на первый взгляд выглядит устрашающе, как хардовое сисадминство.

Если хотите что бы программа была интересной другим, а не только вам лично, сделайте её предельно простой, без JSON и бинарного кода в ответах, вы что издеваетесь?

Кроме того ИМХО десктоп уже не в тренде, 90% пипла всё делают на смартфонах и вебе на крайняк, процесс "скачивания" или "инсталяции" остался в 20м веке, всё в браузере должно быть, никакого напряга, общее настроение такое: "пипил кайф ловит, а между делом на тусовке с депутатами и фотомоделями, одним касанием пальчика по экрану, миллионы баксов делает на битке", такова новая парадигма, никакого напряга, всё в кайф, без мышек, клавиатур и консолей, это ключ к юзеру 21го века.

Веб-приложение - совсем другая история, тогда получится кастодиальный веб-кошелёк, хотя и если не кастодиальный по факту, а клиентский яваскриптовый по форме, то всё равно боязно в браузер закидывать сиды и приваты, чисто психологически, знаю многие метамаск страшатся пользовать при работе с серьёзными деньгами. Хотя это идея, про кастодиальный кошелёк, спасибо, надо будет поэкспериментировать.  Smiley

На счет консоли и "сисадминства" Вы от части правы, я сделал вариант с GUI а из консольного варианта убрал код транзакции, это действительно лишнее, суть была в том что хекс можно было самостоятельно запушить через ТОР для параноиков, но нужно просто прикрутить такую логику в апке.

В общем я сподобился выложить бетку на гитхаб https://github.com/avadhuta/BtcIO/releases

И пример использования с тестовой сетью на ютуб(с майновой работает аналогично):

Для консоли https://youtu.be/Mnm2dWqRP8g

Для варианта с GUI https://youtu.be/JiTr551-veE

screenshots:
https://i.imgur.com/ZxuXYuV.jpeg
https://i.imgur.com/6evZ7YW.jpeg
https://i.imgur.com/M8tslVi.jpg
https://i.imgur.com/kjvhsnS.jpg


Прошу заценить  и прокоментить, кому не лень.  Smiley
gov
Member
**
Offline Offline

Activity: 196
Merit: 40


View Profile
March 05, 2021, 11:47:56 AM
Last edit: March 05, 2021, 11:58:29 AM by gov
 #10

может из этого отдельный кейс сделать? или вообще мобильную апку?

Картинка на первый взгляд выглядит устрашающе, как хардовое сисадминство.

Если хотите что бы программа была интересной другим, а не только вам лично, сделайте её предельно простой, без JSON и бинарного кода в ответах, вы что издеваетесь?

Кроме того ИМХО десктоп уже не в тренде, 90% пипла всё делают на смартфонах и вебе на крайняк, процесс "скачивания" или "инсталяции" остался в 20м веке, всё в браузере должно быть, никакого напряга, общее настроение такое: "пипил кайф ловит, а между делом на тусовке с депутатами и фотомоделями, одним касанием пальчика по экрану, миллионы баксов делает на битке", такова новая парадигма, никакого напряга, всё в кайф, без мышек, клавиатур и консолей, это ключ к юзеру 21го века.

Веб-приложение - совсем другая история, тогда получится кастодиальный веб-кошелёк, хотя и если не кастодиальный по факту, а клиентский яваскриптовый по форме, то всё равно боязно в браузер закидывать сиды и приваты, чисто психологически, знаю многие метамаск страшатся пользовать при работе с серьёзными деньгами. Хотя это идея, про кастодиальный кошелёк, спасибо, надо будет поэкспериментировать.  Smiley

На счет консоли и "сисадминства" Вы от части правы, я сделал вариант с GUI а из консольного варианта убрал код транзакции, это действительно лишнее, суть была в том что хекс можно было самостоятельно запушить через ТОР для параноиков, но нужно просто прикрутить такую логику в апке.

В общем я сподобился выложить бетку на гитхаб https://github.com/avadhuta/BtcIO/releases

И пример использования с тестовой сетью на ютуб(с майновой работает аналогично):

Для консоли https://youtu.be/Mnm2dWqRP8g

Для варианта с GUI https://youtu.be/JiTr551-veE

screenshots:





Прошу заценить  и прокоментить, кому не лень.  Smiley
Ну вот, немного получше стало, не так пугающе, гуи рулит верно ведь?

Но всё равно пока сырая поделка, если комментировать по взрослому, то сложно с чего начать, всё пока на уровне поделки, на уровне "самоудовлетворения"(сам написал сам юзаю), до продакшина очень далеко.

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

Второе, у вас в коде простым ГСЧ создаётся сид-фраза, это фэйспалм, такие приваты хакаются на раз-два. Почитайте про "энтропию" и как это делается в серьёзных приложениях.

https://github.com/avadhuta/BtcIO/blob/master/BtcWalletTools/Tech.cs
Code:
        private static string[] words = ReadResource("words.txt").Split('\n');

        public static string RandomSeed()
        {
            var r = new Random();
            string res = "";
            for (int i = 0; i < 12; i++) res += words[r.Next(0, words.Length - 1)].ToLower() + (i < 11 ? " " : "");

            return res;
        }

 Shocked Shocked Shocked
avadhuta (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 11


View Profile
March 15, 2021, 12:04:16 PM
 #11

Ну вот, немного получше стало, не так пугающе, гуи рулит верно ведь?

Но всё равно пока сырая поделка, если комментировать по взрослому, то сложно с чего начать, всё пока на уровне поделки, на уровне "самоудовлетворения"(сам написал сам юзаю), до продакшина очень далеко.

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

Второе, у вас в коде простым ГСЧ создаётся сид-фраза, это фэйспалм, такие приваты хакаются на раз-два. Почитайте про "энтропию" и как это делается в серьёзных приложениях.

ГСЧ  поменял на более "сильный", позже добавлю юзерскую энтропию.

ИМХО копипаст ключей не более опасен чем ввод паролей от кошелька, если устройство атаковано(есть доступ к дискам и все действия пользователя доступны злоумышленнику)

Но возможно Вы правы, я подумаю над этим.
avadhuta (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 11


View Profile
March 27, 2021, 03:53:40 PM
 #12

Добавил пользовательскую энтропию, функционал открытия и сохранения кошельков, анонимные транзакции через TOR, скрыл WIF и seed.

https://www.youtube.com/watch?v=Oytmq7KVDPE
gov
Member
**
Offline Offline

Activity: 196
Merit: 40


View Profile
April 04, 2021, 10:34:49 AM
 #13

Добавил пользовательскую энтропию, функционал открытия и сохранения кошельков, анонимные транзакции через TOR, скрыл WIF и seed.

https://www.youtube.com/watch?v=Oytmq7KVDPE
Нафиг нужны поля с сидом и приватом, если они скрыты и есть кошелёк? Достаточно одного адреса и баланс туда же поместить, зачем разделять.




PS А где можно тестовых битков получить в большем количестве чем 0.01 ? Они же я так понимаю бесплатные, где их люди изначально берут?  Я слышал что битки тестовой сети прошлой версии уже продаются за деньги.
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!