Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
16 июля 2010, 7:45:10 PM   # 1
 
 
Сообщения: 364
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Нам нужен кто-то, чтобы написать пример кода, предпочтительно Python или Java, показывая рекомендуемый способ использования интерфейса JSON-RPC для создания системы счета. Большинство сайтов, которые продают вещи, нужно будет что-то вроде этого. Тот, кто держал на резьбе JSON-RPC здесь должны иметь некоторое представление о том, как она должна работать.

Когда пользователь регистрируется в свою учетную запись, вы показываете Bitcoin адрес они могут отправить пополнить. Прежде чем показать это, нужно проверить, если он был использован, если он затем заменить его на новый (getnewaddress <имя пользователя>). Вам нужно только сохранить последний адрес Bitcoin для учетной записи в базе данных. (Я отправил фрагмент образец кода для этого в более ранней нить где-то, поиск на getnewaddress)

Вы можете использовать getreceivedbylabel <имя пользователя> с именем пользователя в качестве метки, чтобы получить "кредит" сумма счета. Вы должны держать "дебет" количество в базе данных. Текущий баланс счета (кредит - дебет). Когда пользователь тратит деньги, вы увеличите дебет.

Если вы требуете более 0 подтверждений, это хорошо, если вы показать текущий баланс (0 Подтверждения) и доступный остаток (1 или больше подтверждений), поэтому они могут сразу увидеть, что их оплата подтверждаются. Не все сайты нужно ждать подтверждения, так что двойной ток & доступно должно быть факультативным. Большинство сайтов по продаже цифровых товаров в порядке принять 0 подтверждения.

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

vekja.net пример сайта, как это.
Satoshi сейчас офлайн Пожаловаться на Satoshi   Ответить с цитированием Мультицитирование сообщения от Satoshi Быстрый ответ на сообщение Satoshi


Как заработать Биткоины?
Без вложений. Не майнинг.


16 июля 2010, 8:18:45 PM   # 2
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Получил 1806 Биткоинов
Реальная история.





bitcoinmarket.com делает все эти вещи прямо сейчас. возможно, автор этого сайта может поделиться некоторый код, а также.
RudeDude сейчас офлайн Пожаловаться на RudeDude   Ответить с цитированием Мультицитирование сообщения от RudeDude Быстрый ответ на сообщение RudeDude

16 июля 2010, 8:23:48 PM   # 3
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Я хотел бы также отметить, что этот сайт имеет некоторые JSON кода в Python.
http://www.alloscomp.com/bitcoin/

В частности, это код, который проверяет баланс и передает его на статический адрес.
Код:
#! / USR / бен / питон
импорт jsonrpc
MyBCAddress = «ВАШ АДРЕС Bitcoin ЗДЕСЬ»

б = jsonrpc.ServiceProxy ("HTTP: // локальный: 8332 /")
BAL = поплавок (b.getbalance ())

если бАЛ > 0,01:
    Распечатать "У нас есть баланс {0: .2f} до н. Посылка ...".format (BAL)
    b.sendtoaddress (MyBCAddress, BAL)
еще:
    Распечатать "Нет монеты здесь."
RudeDude сейчас офлайн Пожаловаться на RudeDude   Ответить с цитированием Мультицитирование сообщения от RudeDude Быстрый ответ на сообщение RudeDude

16 июля 2010, 10:22:22 PM   # 4
 
 
Сообщения: 180
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

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

Это, вероятно, не самый лучший подход (после разговора с Satoshi некоторое время назад). На самом деле, я не пробовал применять новые функции в API, которые были добавлены позже, и теперь в версии .3. Но это сражение испытания. Почему исправить то, что не сломано (пока)? Он работает как отдельный процесс на компьютере с сервером Bitcoin. Единственное, что я ушел из был обработчик перерыв на время цикла. В любое время вы видите "Список (something_inside)", Понимаю, что это запрос к базе данных с использованием SQLObject.

Когда я снова пройти через это, я выложу здесь пересмотр.

Код:
#! / USR / бен / питон


импорт jsonrpc
время импорта
импорт дата и время

из базы данных импорта *


Класс BitcoinInterface (объект):

    Защиту __init __ (Я):
        self.access = jsonrpc.ServiceProxy ("http://127.0.0.1:8332")
        вернуть

    Защиту issueBitcoinAddresses (самостоятельно):
        localBitcoinAddresses = список (Address.select (AND (Address.q.type_ == "localBitcoin", Address.q.value == None))) # Получить все нераспределенные локальные адреса Bitcoin
        для localBitcoinAddress в localBitcoinAddresses:
            localBitcoinAddress.value = self.access.getnewaddress ()
            клиент = Client.get (localBitcoinAddress.clientID)
            Распечатать "Новый адрес: \ nИмя пользователя:% s \ nClientID:% г \ nValue:% s \ п" % (Client.username, client.id, localBitcoinAddress.value)
        вернуть

    Защиту takeDeposits (самостоятельно):
        localBitcoinAddresses = список (Address.select (AND (Address.q.type_ == "localBitcoin", Address.q.value! = None))) # Получить все назначенные локальные адреса Bitcoin
        для localBitcoinAddress в localBitcoinAddresses:
            amountReceived = self.access.getamountreceived (localBitcoinAddress.value)
            если amountReceived > localBitcoinAddress.amountReceived:
                клиент = Client.get (localBitcoinAddress.clientID)
                количество = amountReceived - localBitcoinAddress.amountReceived
                client.bitcoins = client.bitcoins + количество
                localBitcoinAddress.amountReceived = amountReceived
                транзакции = транзакции (ClientID = client.id)
                transaction.datetime = datetime.datetime.now ()
                transaction.type_ = "депозит"
                количество transaction.quantity = количество # сделка положительна для "депозит"
                Распечатать "Депозит: \ nИмя пользователя:% s \ nClientID:% I \ nQuantity:% F \ п" % (Client.username, client.id, количество)
        вернуть

    Защиту issueWithdrawals (самостоятельно):
        клиенты = список (Client.select (Client.q.bitcoinsToWithdraw > 0))
        для клиента в клиентах:
            если client.bitcoinsToWithdraw <= Client.bitcoins: проверка # Избыточность
                foreignBitcoinAddress = список (Address.select (AND (Address.q.clientID == client.id, Address.q.type_ == "foreignBitcoin"))) [0]
                пытаться:
                    количество = client.bitcoinsToWithdraw
                    self.access.sendtoaddress (foreignBitcoinAddress.value, количество)
                    client.bitcoins = client.bitcoins - количество
                    транзакции = транзакции (ClientID = client.id)
                    transaction.datetime = datetime.datetime.now ()
                    transaction.type_ = "Вывод"
                    transaction.quantity = -quantity # количество транзакций отрицательное "Вывод"
                    client.bitcoinsToWithdraw = 0
                    Распечатать "Вывод: \ nИмя пользователя:% s \ nClientID:% I \ nQuantity:% F \ п" % (Client.username, client.id, количество)
                Кроме:
                    Распечатать "Ошибка Выход: \ nИмя пользователя:% s \ nClientID:% I \ nQuantity:% F \ п" % (Client.username, client.id, client.bitcoinsToWithdraw)              
            еще:
                Распечатать "Не удалось Изъятие, не хватает Bitcoins: \ nИмя пользователя:% s \ nClientID:% г \ п" % (Client.username, client.id)
        вернуть

bitcoinInterface = BitcoinInterface ()
в то время как 1:
    bitcoinInterface.issueBitcoinAddresses ()
    bitcoinInterface.takeDeposits ()
    bitcoinInterface.issueWithdrawals ()
    time.sleep (300)
dwdollar сейчас офлайн Пожаловаться на dwdollar   Ответить с цитированием Мультицитирование сообщения от dwdollar Быстрый ответ на сообщение dwdollar

17 июля 2010, 1:01:59 PM   # 5
 
 
Сообщения: 588
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

не совсем полная система счета (возможно, половина из них),
но я хотел бы поделиться своим SAMPLE_JSON.PHP в любом случае, может быть, это использование для кого-то.
он использует Curl для подключения к API.
Код:
// ВАЖНЫЙ!
// Это не является безопасным по умолчанию, ограничить доступ к этому сценарию,
// защитить его паролем, проверьте ссылающейся, сессию, или то, что вам нравится.
// Кто-нибудь может достичь этого сценария AS IS может отправить свой баланс на другой адрес!


// просто называть команды, как это 
// ./SAMPLE_JSON.PHP?command=getinfo
// или с помощью параметра
// ./SAMPLE_JSON.PHP?command=getnewaddress&Параметр = имя пользователя
// ./SAMPLE_JSON.PHP?command=getreceivedbylabel&Параметр = имя пользователя


// установить URL в JSON-API
$ URL знак равно 'Http://127.0.0.1:8332';  
// установить идентификатор JSON
$ jsonid знак равно «Уникальный»  

// какая команда была вызвана?
если ($ _GET[«Команда»])
$ команда знак равно $ _GET[«Команда»];
// и если какой параметр?
если ($ _GET[Параметр «»])
$ пункт знак равно $ _GET[Параметр «»];
если (
$ пункт$ parb = Массив ($ пункт);
// если нет, мы создаем пустой массив
еще $ parb = Массив ();
// и кодировать все это в формате JSON
$ обр = Массив (
 'Я бы'знак равно>$ jsonid,
 «Метод»знак равно>$ команда,
 «Титулы»знак равно>$ parb
);
$ данных знак равно json_encode($ обр);
// запустить Curl для передачи наших данных
  
$ ч знак равно curl_init();
  
curl_setopt($ чCURLOPT_HTTPHEADER, массив ('Content-Type: применение / JSON')); 
  
curl_setopt($ чCURLOPT_RETURNTRANSFERправда);
  
curl_setopt($ чCURLOPT_POST1);
  
curl_setopt($ чCURLOPT_URL$ URL);
  
curl_setopt($ чCURLOPT_POSTFIELDS$ данных);
  
$ выходной знак равно curl_exec($ ч); 
// отладка - проверка ответа мы можем просто просмотреть наш вывод JSON здесь
эхо $ выходной."<уш>\ П \ г»;  
// если $ результат выглядит хорошо, мы его расшифровать здесь и закрыть нашу Curl сессию
  
$ OBJ знак равно json_decode($ выходной);
  
curl_close($ ч); 

// и это все, просто обрабатывать $ OBJ и показать его, добавить / сравнить его с БД, или что-то еще нужно.

// Ниже только некоторые основные образцы 
   
если ($ OBJ->ошибка !знак равно "ноль")
     
эхо $ OBJ->ошибка;   
     

если (
$ OBJ->Я бы == $ jsonid) {    
 
если (is_object($ OBJ->результат))
$ Информация знак равно get_object_vars($ OBJ->результат);
     
   
если ($ команда == "получить данные") {
    
 если ($ Информация) {
            эхо 
"Баланс: "$ Информация['баланс']."<уш>\ П \ г»;
            эхо 
«Блоки:»$ Информация[«блоки»]."<уш>\ П \ г»;
            эхо 
«Соединения:»$ Информация[«соединение»]."<уш>\ П \ г»;
            если (
$ Информация[«Генерировать»])
            
$ генераторных знак равно "да";
            еще
            
$ генераторных знак равно «Нет»;
            эхо 
«Генерация:»$ генераторных."<уш>\ П \ г»;
            эхо 
«Сложность:»$ Информация[«Трудность»]."<уш>\ П \ г»;
         }
     } 
     если (
$ команда == "Getreceivedbylabel") {
     
эхо $ OBJ->результат.«\ П»;
     }
     если (
$ команда == "Getnewaddress") {
     
эхо $ OBJ->результат.«\ П»;
     }
}   
?>


быть уверены, чтобы ограничить доступ к каким-то образом!

Я предполагаю, что есть более легкие или более простые способы сделать это, может быть, вы знаете об одном.
BitLex сейчас офлайн Пожаловаться на BitLex   Ответить с цитированием Мультицитирование сообщения от BitLex Быстрый ответ на сообщение BitLex

18 июля 2010, 3:12:14 AM   # 6
 
 
Сообщений: 14
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Любой сделал один в Perl?
Благодаря!
Denger сейчас офлайн Пожаловаться на Denger   Ответить с цитированием Мультицитирование сообщения от Denger Быстрый ответ на сообщение Denger

18 июля 2010, 3:28:33 AM   # 7
 
 
Сообщений: 26
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Любой сделал один в Perl?
Благодаря!
его довольно легко сделать то же самое в Perl, если есть какие-либо JSON-RPC библиотека для Perl.
ArtemZ сейчас офлайн Пожаловаться на ArtemZ   Ответить с цитированием Мультицитирование сообщения от ArtemZ Быстрый ответ на сообщение ArtemZ

26 июля 2010, 7:18:38 PM   # 8
 
 
Сообщения: 351
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Любой сделал один в Perl?
Благодаря!

http://goddamn.co.uk/viewvc/perlmods/Finance-Bitcoin/lib/Finance/Bitcoin/
melvster сейчас офлайн Пожаловаться на melvster   Ответить с цитированием Мультицитирование сообщения от melvster Быстрый ответ на сообщение melvster

6 февраля 2012, 4:35:34 AM   # 9
 
 
Сообщения: 672
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

стоит шишки, его должен был быть до верхней части:
https://en.bitcoin.it/wiki/API_tutorial_%28JSON-RPC%29
https://en.bitcoin.it/wiki/Proper_Money_Handling_%28JSON-RPC%29
Vual сейчас офлайн Пожаловаться на Vual   Ответить с цитированием Мультицитирование сообщения от Vual Быстрый ответ на сообщение Vual

6 февраля 2012, 11:31:50 AM   # 10
 
 
Сообщения: 1232
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

стоит шишки, его должен был быть до верхней части:
https://en.bitcoin.it/wiki/API_tutorial_%28JSON-RPC%29
https://en.bitcoin.it/wiki/Proper_Money_Handling_%28JSON-RPC%29

Я написал те давно и они старые. Это обновленная версия:

http://bitcoinmedia.com/merchant-developer-tutorial/
genjix сейчас офлайн Пожаловаться на genjix   Ответить с цитированием Мультицитирование сообщения от genjix Быстрый ответ на сообщение genjix

6 февраля 2012, 11:59:22 AM   # 11
 
 
Сообщения: 672
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

стоит шишки, его должен был быть до верхней части:
https://en.bitcoin.it/wiki/API_tutorial_%28JSON-RPC%29
https://en.bitcoin.it/wiki/Proper_Money_Handling_%28JSON-RPC%29

Я написал те давно и они старые. Это обновленная версия:

http://bitcoinmedia.com/merchant-developer-tutorial/

ничего себе ... спасибо любезно !!
Vual сейчас офлайн Пожаловаться на Vual   Ответить с цитированием Мультицитирование сообщения от Vual Быстрый ответ на сообщение Vual

8 марта 2014, 8:49:19 AM   # 12
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Я не понимаю до сих пор ...

Это вот так -> Я делаю какое-то игра, используя биткойна как выплачиваемую монету, но как я знаю, если игрок Выплачено скажу 0.0001BTC, игрок не делает LOGIN, просто выберите дифф и играть, но были в состоянии играть, он нужно заплатить немного низкий amout, давайте сказать-> 0.0001BTC ....

Как я знаю (моя система, PHP только ..) если он оплатил ... саиз я буду посылать ему письмо с ТМ и все, говоря, что подтвердил (когда =>6 конф просто чтобы быть уверенным, что на самом деле оплатил ...



Некоторые вещи, которые я вижу здесь -> https://en.bitcoin.it/wiki/Proper_Money_Handling_(JSON-RPC)

Да, и еще одна вещь..
 не right..assume это ->

$ RoundValue = 0.12345678;
эхо «BTC 0,12345678 = "'.round ($ RoundValue * 1E8)."«;

?>

Это будет оказаться \ /

 
BTC 0,12345678 = "12345678"
Это просто не правильно!
и без того " круглый ($ RoundValue * 1E8)  " Его идет все хорошо, так это значит быть ... или я что-то забыть очень плохо ..?

So..What в ад?

Без этого я думаю, что это хорошо ... если нет, то почему? Объясните мне это!

Thx4All до сих пор!
akipfer сейчас офлайн Пожаловаться на akipfer   Ответить с цитированием Мультицитирование сообщения от akipfer Быстрый ответ на сообщение akipfer

8 марта 2014, 9:18:13 AM   # 13
 
 
Сообщения: 144
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Я не понимаю до сих пор ...

Это вот так -> Я какая-то игра с помощью биткойны, но как я знаю, если игрок Выплачено скажем 0.0001BTC, игрок не делает LOGIN, просто выберите дифф и играть, но был в состоянии играть, ему нужно платить низкую amout из 0.0001BTC ....

Как я знаю (моя система, PHP только ..) если он оплатил ...

Thx4All до сих пор!


Некоторые вещи, которые я вижу здесь -> https://en.bitcoin.it/wiki/Proper_Money_Handling_(JSON-RPC)

Да, и еще одна вещь..
 не right..assume это ->

$ RoundValue = 0.12345678;
эхо «BTC 0,12345678 = "'.round ($ RoundValue * 1E8)."«;

?>

Это будет оказывается

 
BTC 0,12345678 = "12345678"
Это просто не правильно!
и без того " круглый ($ RoundValue * 1E8)  " Его идет все хорошо, так это значит быть ... или я что-то забыть очень плохо ..?

So..What в ад?

Пожалуйста, не пишите программное обеспечение, которое обрабатывает деньги.
12648430 сейчас офлайн Пожаловаться на 12648430   Ответить с цитированием Мультицитирование сообщения от 12648430 Быстрый ответ на сообщение 12648430

8 марта 2014, 9:19:34 AM   # 14
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Что вы имеете в виду?
akipfer сейчас офлайн Пожаловаться на akipfer   Ответить с цитированием Мультицитирование сообщения от akipfer Быстрый ответ на сообщение akipfer

8 марта 2014, 9:27:48 AM   # 15
 
 
Сообщения: 144
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Что вы имеете в виду?

Трудно писать программное обеспечение, которое подходит для обработки денег, особенно, когда это другие народы и ваше программное обеспечение онлайн для тех, кто взаимодействует с. Ваше текущее знание программирования не до задачи. Вы можете решить некоторые проблемы, как тот, который вы публикуемую, спрашивая людей, чтобы помочь вам с ними, но если вы можете в конечном итоге с чем-то, что "работает" Вы не можете написать безопасное программное обеспечение без действительно зная, что вы делаете.
12648430 сейчас офлайн Пожаловаться на 12648430   Ответить с цитированием Мультицитирование сообщения от 12648430 Быстрый ответ на сообщение 12648430

8 марта 2014, 9:33:38 AM   # 16
 
 
Сообщения: 294
Цитировать по имени
цитировать ответ
по умолчанию Re: Sample системы счетов с использованием JSON-RPC требуется

Честно говоря, я не новичок в PHP, я с Bitcoin это сам (JSON-RPC)

игра это самость довольно просто, не может быть взломана с помощью любых средств, серьезно!

мне нужно только знать, как это то, что мой Scrypt может знать, если когда игрок отправить деньги, чтобы сказать мне (или авто отправить по электронной почте)

Я не могу понять, как, именно это, я имею в виду, я использую getnewaddress каждый раз, когда какой-нибудь один клик по заработной плате? если так ... черт, что бы вот так, так много адресов, перечисленных на моем Bitcoin (не Qt сейчас, но все же ..)


Ps: Я понимаю, что, на высоком уровне, я уверен, что мне нужно многое узнать о JSON-RPC, чтобы сделать что-то вроде монетами торговца или что-то «BAD ASS», как это .. но я не буду abble к ' написать безопасное программное обеспечение ", если я никогда не пробую ...

просто хочу сказать ... Будет ли у не согласен со мной?
akipfer сейчас офлайн Пожаловаться на akipfer   Ответить с цитированием Мультицитирование сообщения от akipfer Быстрый ответ на сообщение akipfer



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW