Bitcoin Forum
June 24, 2024, 11:19:34 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Напишите возможности смарт контрактов!  (Read 2632 times)
professor9 (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 02, 2017, 04:41:12 PM
 #1

Как они работают ничего не понятно
Может у смарт контракта быть несколько входных адресов?
что должны люди посылать на эти адреса - эфир?
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
есть ли у самрт контракта какая нибудь страница где можно чё-то написать и забить это в блокчеин эфира - чтоб не поменяли
professor9 (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 03, 2017, 06:27:20 AM
 #2

ладно, раз все молчат, видимо потому что сказать нечего.
Смарт контракты это полное Г. они ни на что не годны. я не говорю уже про такие вещи как "связь с реальным миром",
кто-то там говорил "оракулы" или "заходит на сайты проверяет новости" - ничего это не работает. Там или идут двойные траты, или вся система крашится. они даже не могут выполнить элементарных вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать на третий адрес, а если второй больше то на 4ый
полностью ниочём, Виталик прикрутил какой-то солидити но он там как пятая нога, ничего не делает. всёравно что кинуть в телегу тетрис и сказать - "электронная программируемая телега".
я думаю этот вопрос закрыт.
quantum
Member
**
Offline Offline

Activity: 108
Merit: 250


View Profile
September 03, 2017, 06:47:22 PM
 #3

Quote
Может у смарт контракта быть несколько входных адресов?

У одного нет, но можно сделать несколько взаимодействующих

Quote
что должны люди посылать на эти адреса - эфир?
Смотря что вам нужно, есть возможность производить действия, когда кто-то отправил эфир на адрес смарт контракта

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

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

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

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

Quote
не могут выполнить элементарных вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать на третий адрес, а если второй больше то на 4ый

Сделать это можно (как минимум, если все эти адреса - адреса ваших контрактов)
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 04, 2017, 12:33:54 PM
 #4

Как они работают ничего не понятно
Может у смарт контракта быть несколько входных адресов?
Адрес - в смысле адрес в сети эфира? Нет, не может. А зачем?
Контракт - это примерно функция в языке программирования - имя у нее одно, а параметров
может быть несколько и в зависимости от параметров она может делать разные вещи.

Quote
что должны люди посылать на эти адреса - эфир?
ну да.

Quote
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех
кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
Для этого не обязательно иметь несколько адресов. Контракт типа "лото" - ты посылаешь на
адрес контракта бабло и указываешь свои цифры 5-из-36 допустим.

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 04, 2017, 12:38:57 PM
 #5

ладно, раз все молчат, видимо потому что сказать нечего.
Смарт контракты это полное Г. они ни на что не годны. я не говорю уже про такие вещи как "связь с реальным миром",
Конечно, связи с реальным миром у них нет.
Смарт-контракты не смотрят футбол и не знают результат матча.

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

Quote
вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать
на третий адрес, а если второй больше то на 4ый
Ну это как раз несложно вроде.

Quote
полностью ниочём, Виталик прикрутил какой-то солидити но он там как пятая нога, ничего не делает.
всёравно что кинуть в телегу тетрис и сказать - "электронная программируемая телега".
я думаю этот вопрос закрыт.
Солидити - это язык написания контрактов. Не не кодах же виртуальной машины их писать?

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
professor9 (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 04, 2017, 09:55:47 PM
 #6

Для этого не обязательно иметь несколько адресов. Контракт типа "лото" - ты посылаешь на
адрес контракта бабло и указываешь свои цифры 5-из-36 допустим.
Ну вот как раз хороший пример сделать рулетку или 21 казиношную игру. самое простое.
как это будет выглядеть пересылаешь деньги и "указываешь".. то есть там есть какая-то текстовая информация?
кто-то укажет 5 из 36, кто-то 5/36 и всё - там уже ничего не работает потому, что комп не разберёт эту информацию.
Незнаю, незнаю, оно вроде как есть, но так чтоб работало - я не слышал. Всё что есть - это милион разных скам ICO и всё что, контракт делает - это пересылает эквивалент токенов.
Для чего нужна текстовая инфа в контракте - были случаи когда хакеры подменяли адреса ICO и деньги шли не туда, потому лучше прописывать важную инфу в надёжных местах типа блокчеина.

В этом есть проблема - програмист не всегда основатель идеи или бизнеса. Когда основатели ничего не понимают или не доверяют в тех штуках которыми програмисты занимаются, никакого дела не выходит.
ferumflex
Full Member
***
Offline Offline

Activity: 256
Merit: 102


View Profile WWW
September 05, 2017, 10:39:32 AM
 #7

ну не все так плохо, все таки они еще молоды. Недостатков у них масса, но для исо, своих токенов они вполне годятся

Для чего нужна текстовая инфа в контракте - были случаи когда хакеры подменяли адреса ICO и деньги шли не туда, потому лучше прописывать важную инфу в надёжных местах типа блокчеина.
А при чем тут смарт контракты? Взломали сайт, поставили другой адрес кошелька и тут явно контракты не виноваты
quantum
Member
**
Offline Offline

Activity: 108
Merit: 250


View Profile
September 06, 2017, 08:37:36 PM
 #8

Quote
как это будет выглядеть пересылаешь деньги и "указываешь".. то есть там есть какая-то текстовая информация?
кто-то укажет 5 из 36, кто-то 5/36 и всё - там уже ничего не работает потому, что комп не разберёт эту информацию.
В солидити в смартконтракте можно сделать функцию, которая будет вызываться с отправкой эфира. В функции можно определить нужные параметры

professor9 (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 07, 2017, 02:33:30 PM
Last edit: September 07, 2017, 02:52:10 PM by professor9
 #9

я тут посмотрел - действительно есть казиношки написаные на смарт контрактах, всё же как-то оно работает
как я понял - на контракт приходят деньги, а потом чтоб "крутануть рулетку" - приходит подписаное сообщение с того же адреса, что и деньги
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 07, 2017, 04:39:48 PM
 #10

я тут посмотрел - действительно есть казиношки написаные на смарт контрактах, всё же как-то оно работает
как я понял - на контракт приходят деньги, а потом чтоб "крутануть рулетку" - приходит подписаное сообщение с того же адреса, что и деньги
Крутить может сам контракт по какому-то алгоритму.
Но проблема в том, что все смарт-контракты "живут" внутри виртуальной машины.
То есть в реальной жизни они использоваться не могут сами по себе.
Если я взял у вас сто рублей или сто кефиров, или сто биткойнов - то никакой смарт-контракт
не заставит меня вернуть вам долг. А для чего он тогда нужен если эту проблему мы без
смарт-контракта решим?

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
ferumflex
Full Member
***
Offline Offline

Activity: 256
Merit: 102


View Profile WWW
September 07, 2017, 07:46:33 PM
 #11

я тут посмотрел - действительно есть казиношки написаные на смарт контрактах, всё же как-то оно работает
как я понял - на контракт приходят деньги, а потом чтоб "крутануть рулетку" - приходит подписаное сообщение с того же адреса, что и деньги
Крутить может сам контракт по какому-то алгоритму.
Но проблема в том, что все смарт-контракты "живут" внутри виртуальной машины.
То есть в реальной жизни они использоваться не могут сами по себе.
Если я взял у вас сто рублей или сто кефиров, или сто биткойнов - то никакой смарт-контракт
не заставит меня вернуть вам долг. А для чего он тогда нужен если эту проблему мы без
смарт-контракта решим?
Здесь смарт контракт вообще не поможет. Зато он поможет поверить в честность казино. Казино например говорит, что отдает 90 процентов прибыли, а по факту это сложно проверить. Вот со смарт контрактом все просто
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 07, 2017, 08:24:55 PM
 #12

Здесь смарт контракт вообще не поможет. Зато он поможет поверить в честность
казино. Казино например говорит, что отдает 90 процентов прибыли, а по факту это
сложно проверить. Вот со смарт контрактом все просто

Три аспекта.
Во-первых, проверить смарт-контракт - это вовсе непросто. Попробуйте
проверить сами любой контракт, да хоть бы "хелло ворлд" и расскажите как
вам это удалось без привлечения экспертов. Даже декомпиляции нельзя особо
доверять, потому что казино может быть в сговоре с блок-эксплорером - вам
блок-эксплорер показывает один код, а реально смарт-контракт выполняет другой.
Да и 99.9% населения код этих ваших Solidity не розумеют.

Второй аспект - что мы по-прежнему находимся внутри виртуальной машины и
делаем ставки фантиками. В казино, конечно, тоже играют фишками, но я не слышал
про то, что какое-то казино выставляет существенно разный курс на продажу и покупку
фантиков. Со всякими токенами вы так залететь можете легко. Вложили 10 баксов,
выиграли 100500 токенов, а потом оказалось что при превращении их обратно в баксы
вы получите только 9 баксов.

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

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
ferumflex
Full Member
***
Offline Offline

Activity: 256
Merit: 102


View Profile WWW
September 07, 2017, 11:00:55 PM
 #13

1. Это очень легко проверить, если при компиляции исходного кода получаем байт код в блокчейне, то исходник верен
2. Зачем играть токенами, можно же играть эфиром. Конечно цена эфира может тоже скакать, но не так сильно я думаю как цена токенов
3. Да согласен можно и так делать
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 08, 2017, 10:57:27 AM
 #14

1. Это очень легко проверить, если при компиляции исходного кода получаем байт код в блокчейне, то исходник верен
Да-да. Каждая домохозяйка должна уметь устанавливать компилятор солидити и уметь сравнивать
получившийся байт-код с тем что есть в блокчейне. А блокчейн на 200 гигабайт уже и синхронизировать
его можно только на машине как минимум с 16 гигами памяти на борту. Легко? Ну говорить точно легко.
А сделать такое самостоятельно слабо? Без блок-эксплореров?

Quote
2. Зачем играть токенами, можно же играть эфиром. Конечно цена эфира может тоже скакать, но не так сильно я думаю как цена токенов
Я про кефир и вел разговор.
Есть деньги, а есть токены. В кефире есть еще суб-токены и суб-суб-суб-токены. Пока мозг не взорвется

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
ShDenis
Full Member
***
Offline Offline

Activity: 313
Merit: 103



View Profile
September 09, 2017, 08:49:54 AM
 #15

Как они работают ничего не понятно
Может у смарт контракта быть несколько входных адресов?
что должны люди посылать на эти адреса - эфир?
можно потом организовать какую нибудь логику чтоб монеты были отданы кому то из тех кто отсылал деньги на один из адресов, а тем кто отсылал на другие адреса - ничего.
есть ли у самрт контракта какая нибудь страница где можно чё-то написать и забить это в блокчеин эфира - чтоб не поменяли


ладно, раз все молчат, видимо потому что сказать нечего.
Смарт контракты это полное Г. они ни на что не годны. я не говорю уже про такие вещи как "связь с реальным миром",
кто-то там говорил "оракулы" или "заходит на сайты проверяет новости" - ничего это не работает. Там или идут двойные траты, или вся система крашится. они даже не могут выполнить элементарных вещей типа на один адрес кто-то прислал 5 на другой 2 и если первый больше то переслать на третий адрес, а если второй больше то на 4ый
полностью ниочём, Виталик прикрутил какой-то солидити но он там как пятая нога, ничего не делает. всёравно что кинуть в телегу тетрис и сказать - "электронная программируемая телега".
я думаю этот вопрос закрыт.


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

Смарт контракты это бакграунд процессы функционирующие в сети эфириума. Они разрабатываются на тьюринг-полном (полноценном) языке программирования solidity. Т.е. всю логику которая может быть формализована можно реализовать в смартконтракте (или  системе из смарт контрактов). Есть ли смысл реализовывать что-то через эту технологию или нет - это отдельный вопрос. Для принятия решения нужно понимание на уровне "professor" а ни "neuch".

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

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

что-то написать в ссмартконтракт, что бы это потом никто не поменял - это обычная логика смартконтакта.

И напоследок, по поводу "Смарт контракты это полное Г. " - полное Г это подобные заявления в сторону того, в чём ничего не понимаешь.
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 11, 2017, 06:18:38 AM
 #16

И напоследок, по поводу "Смарт контракты это полное Г. " - полное Г это подобные
заявления в сторону того, в чём ничего не понимаешь.
Ну хорошо. Давайте разберёмся у кого из вам пиписька длиннее кто из вас
лучше разбирается в смарт-контрактах.

Т.е. всю логику которая может быть формализована можно реализовать в
смартконтракте (или  системе из смарт контрактов).
Окей. Рассмотрим это утверждение.
Логику хочу такую: два человека скидываются по 100 рублей накануне матча "Спартак-Динамо"
Если выигрывает Спартак - банк получает первый игрок. Если Динамо - второй игрок.
Итак.
Логика формализована (детали я не конкретизировал, надеюсь вы понимаете что это неважно)
Вы утверждаете, что можно создать такой смарт-контракт? Вперёд, дерзайте.

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
professor9 (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
September 11, 2017, 07:10:29 AM
 #17

ShDenis Спасибо!
TechPriest
Sr. Member
****
Offline Offline

Activity: 377
Merit: 282


Finis coronat opus


View Profile
September 13, 2017, 06:03:40 PM
 #18

Т.е. всю логику которая может быть формализована можно реализовать в
смартконтракте (или  системе из смарт контрактов).
Окей. Рассмотрим это утверждение.
Логику хочу такую: два человека скидываются по 100 рублей накануне матча "Спартак-Динамо"
Если выигрывает Спартак - банк получает первый игрок. Если Динамо - второй игрок.
Итак.
Логика формализована (детали я не конкретизировал, надеюсь вы понимаете что это неважно)
Вы утверждаете, что можно создать такой смарт-контракт? Вперёд, дерзайте.


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

In science we trust!
amaclin1
Sr. Member
****
Offline Offline

Activity: 784
Merit: 305


View Profile
September 13, 2017, 06:57:51 PM
 #19

Как я понимаю, здесь ключевое слово "рубли". Я вот уже хотел написать вам логику, прямо с кодом, но уловил вашу хитрость. Уверен что вы сразу же спросите "А как контракт рубли то примет" и дальше от этого пойдете плясать.  Smiley
Замените на кефиры. Это не ключевое слово.
Хитрость (если она и есть) в количестве. То есть когда вы ответите
про условные 100 рублей (эта сумма не является критичной ни для кого)
я спрошу: а если на кону по миллиарду с каждой стороны - то тот же алгоритм
будет работать или нет?

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
TechPriest
Sr. Member
****
Offline Offline

Activity: 377
Merit: 282


Finis coronat opus


View Profile
September 13, 2017, 09:35:33 PM
 #20

Как я понимаю, здесь ключевое слово "рубли". Я вот уже хотел написать вам логику, прямо с кодом, но уловил вашу хитрость. Уверен что вы сразу же спросите "А как контракт рубли то примет" и дальше от этого пойдете плясать.  Smiley
Замените на кефиры. Это не ключевое слово.
Хитрость (если она и есть) в количестве. То есть когда вы ответите
про условные 100 рублей (эта сумма не является критичной ни для кого)
я спрошу: а если на кону по миллиарду с каждой стороны - то тот же алгоритм
будет работать или нет?

думаю да, алгоритм такой:
люди покупают на бирже на миллиард, закидывают в смарт контракт (важное условие - код смарт контракта проверен обоими сторонами) с самый простым кодом, и потом кто-то получает два миллиарда, а кто-то 0.

In science we trust!
Pages: [1] 2 3 »  All
  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!