Author

Topic: [ETH] Ethereum - мировой компьютер - page 1598. (Read 1885798 times)

full member
Activity: 182
Merit: 100
★YoBit.Net★ 200+ Coins Exchange & Dice
Вчера истек первый раунд краудсейла Augur с бонусом 15%. Судя по статистике, проинвестировано 3 476 651 USD, создано 3221 аккаунт. В среднем на каждый аккаунт приходится  1 079 USD инвестиций, цена 1 Rep составляет 39 центов.
Вы и другие это называют инвестициями. А ну сути это является влошениями) и место этому в хайпах.
legendary
Activity: 1151
Merit: 1003
Вчера истек первый раунд краудсейла Augur с бонусом 15%. Судя по статистике, проинвестировано 3 476 651 USD, создано 3221 аккаунт. В среднем на каждый аккаунт приходится  1 079 USD инвестиций, цена 1 Rep составляет 39 центов.
legendary
Activity: 1974
Merit: 1160
Все слышали про криптовалюту Counterparty?

Виталик её форкнул внутри эфира ввидк умного контракта, ибо не хуй. Cheesy

Code:
# Ethereum forks Counterparty in 340 lines of serpent
# Not yet tested

# assets[i] = a registered asset, assets[i].holders[j] = former or current i-holder
data assets[2^50](creator, name, calldate, callprice, dividend_paid, holders[2^50], holdersCount)
data nextAssetId

# holdersMap: holdersMap[addr][asset] = 1 if addr holds asset
data holdersMap[2^160][2^50]

# balances[x][y] = how much of y x holds
data balances[2^160][2^50]

# orders[a][b] = heap of indices to (c, d, e)
# = c offers to sell d units of a at a price of e units of b per 10^18 units
# of a
data orderbooks[][]

# store of general order data
data orders[2^50](seller, asset_sold, quantity, price)
data ordersCount

# data feeds
data feeds[2^50](owner, value)
data feedCount

# heap
data heap
extern heap: [register, push, pop, top, size]

data cfds[2^50](maker, acceptor, feed, asset, strike, leverage, min, max, maturity)
data cfdCount

data bets[2^50](maker, acceptor, feed, asset, makerstake, acceptorstake, eqtest, maturity)
data betCount

def init():
    heap = create('heap.se')

# Add units (internal method)
def add(to, asset, value):
    if msg.sender != self:
        stop
    self.balances[to][asset] += value
    # Add the holder to the holders list
    if not self.holdersMap[to][asset]:
        self.holdersMap[to][asset] = 1
        c = self.assets[asset].holdersCount
        self.assets[asset].holders[c] = to
        self.assets[asset].holdersCount = c + 1

# Register a new asset
def register_asset(q, name, calldate, callprice):
    newid = self.nextAssetId
    self.assets[newid].creator = msg.sender
    self.assets[newid].name = name
    self.assets[newid].calldate = calldate
    self.assets[newid].callprice = callprice
    self.assets[newid].holders[0] = msg.sender
    self.assets[newid].holders[holdersCount] = 1
    self.balances[msg.sender][newid] = q
    self.holdersMap[msg.sender][newid] = 1

# Send
def send(to, asset, value):
    fromval = self.balances[msg.sender][asset]
    if fromval >= value:
        self.balances[msg.sender][asset] -= value
        self.add(to, asset, value)

# Order
def mkorder(selling, buying, quantity, price):
    # Make sure you have enough to pay for the order
    if self.balances[msg.sender][selling] < quantity:
        stop
    # Try to match existing orders
    o = orderbooks[buying][selling]
    if not o:
        o = self.heap.register()
        orderbooks[selling][buying] = o
    sz = self.heap.size(o)
    invprice = 10^36 / price
    while quantity > 0 and sz > 0:
        orderid = self.heap.pop()
        p = self.orders[orderid].price
        if p > invprice:
            sz = 0
        else:
            q = self.orders[orderid].quantity
            oq = min(q, quantity)
            b = self.orders[orderid].seller
            self.balances[msg.sender][selling] -= oq * p / 10^18
            self.add(msg.sender, buying, oq)
            self.add(b, selling, oq * p / 10^18)
            self.orders[orderid].quantity = q - oq
            if oq == q:
                self.orders[orderid].seller = 0
                self.orders[orderid].price = 0
                self.orders[orderid].asset_sold = 0
            quantity -= oq
            sz -= 1
    if quantity == 0:
        stop
    # Make the order
    c = self.ordersCount
    self.orders[c].seller = msg.sender
    self.orders[c].asset_sold = selling
    self.orders[c].quantity = quantity
    self.orders[c].price = price
    self.ordersCount += 1
    # Add it to the heap
    o = orderbooks[selling][buying]
    if not o:
        o = self.heap.register()
        orderbooks[selling][buying] = o
    self.balances[msg.sender][selling] -= quantity
    self.heap.push(o, price, c)
    return(c)

def cancel_order(id):
    if self.orders[id].seller == msg.sender:
        self.orders[id].seller = 0
        self.orders[id].price = 0
        self.balances[msg.sender][self.orders[id].asset_sold] += self.orders[id].quantity
        self.orders[id].quantity = 0
        self.orders[id].asset_sold = 0

def register_feed():
    c = self.feedCount
    self.feeds[c].owner = msg.sender
    self.feedCount = c + 1
    return(c)

def set_feed(id, v):
    if self.feeds[id].owner == msg.sender:
        self.feeds[id].value = v

def mk_cfd_offer(feed, asset, strike, leverage, min, max, maturity):
    b = self.balances[msg.sender][asset]
    req = max((strike - min) * leverage, (strike - max) * leverage)
    if b < req:
        stop
    self.balances[msg.sender][asset] = b - req
    c = self.cfdCount
    self.cfds[c].maker = msg.sender
    self.cfds[c].feed = feed
    self.cfds[c].asset = asset
    self.cfds[c].strike = strike
    self.cfds[c].leverage = leverage
    self.cfds[c].min = min
    self.cfds[c].max = max
    self.cfds[c].maturity = maturity
    self.cfdCount = c + 1
    return(c)

def accept_cfd_offer(c):
    if self.cfds[c].acceptor or not self.cfds[c].maker:
        stop
    asset = self.cfds[c].asset
    strike = self.cfds[c].strike
    min = self.cfds[c].min
    max = self.cfds[c].max
    leverage = self.cfds[c].leverage
    b = self.balances[msg.sender][asset]
    req = max((min - strike) * leverage, (max - strike) * leverage)
    if b < req:
        stop
    self.balances[msg.sender][asset] = b - req
    self.cfds[c].acceptor = msg.sender
    self.cfds[c].maturity += block.timestamp

def claim_cfd_offer(c):
    asset = self.cfds[c].asset
    strike = self.cfds[c].strike
    min = self.cfds[c].min
    max = self.cfds[c].max
    leverage = self.cfds[c].leverage
    v = self.feeds[self.cfds[c].feed].value
    if v > min and v < max and block.timestamp < self.cfds[c].maturity:
        stop
    maker_req = max((strike - min) * leverage, (strike - max) * leverage)
    acceptor_req = max((min - strike) * leverage, (max - strike) * leverage)
    paydelta = (strike - v) * leverage
    self.add(self.cfds[c].maker, asset, maker_req + paydelta)
    self.add(self.cfds[c].acceptor, asset, acceptor_req - paydelta)
    self.cfds[c].maker = 0
    self.cfds[c].acceptor = 0
    self.cfds[c].feed = 0
    self.cfds[c].asset = 0
    self.cfds[c].strike = 0
    self.cfds[c].leverage = 0
    self.cfds[c].min = 0
    self.cfds[c].max = 0
    self.cfds[c].maturity = 0

def withdraw_cfd_offer(c):
    if self.cfds[c].maker == msg.sender and not self.cfds[c].acceptor:
        asset = self.cfds[c].asset
        strike = self.cfds[c].strike
        min = self.cfds[c].min
        max = self.cfds[c].max
        leverage = self.cfds[c].leverage
        maker_req = max((strike - min) * leverage, (strike - max) * leverage)
        self.balances[self.cfds[c].maker][asset] += maker_req
        self.cfds[c].maker = 0
        self.cfds[c].acceptor = 0
        self.cfds[c].feed = 0
        self.cfds[c].asset = 0
        self.cfds[c].strike = 0
        self.cfds[c].leverage = 0
        self.cfds[c].min = 0
        self.cfds[c].max = 0
        self.cfds[c].maturity = 0
        

def mk_bet_offer(feed, asset, makerstake, acceptorstake, eqtest, maturity):
    if self.balances[msg.sender][asset] < makerstake:
        stop
    c = self.betCount
    self.bets[c].maker = msg.sender
    self.bets[c].feed = feed
    self.bets[c].asset = asset
    self.bets[c].makerstake = makerstake
    self.bets[c].acceptorstake = acceptorstake
    self.bets[c].eqtest = eqtest
    self.bets[c].maturity = maturity
    self.balances[msg.sender][asset] -= makerstake
    self.betCount = c + 1
    return(c)

def accept_bet_offer(c):
    if not self.bets[c].maker or self.bets[c].acceptor:
        stop
    asset = self.bets[c].asset
    acceptorstake = self.bets[c].acceptorstake
    if self.balances[msg.sender][asset] < acceptorstake:
        stop
    self.balances[msg.sender][asset] -= acceptorstake
    self.bets[c].acceptor = msg.sender

def claim_bet_offer(c):
    if block.timestamp < self.bets[c].maturity:
        stop
    v = self.feeds[self.bets[c].feed].value
    totalstake = self.bets[c].makerstake + self.bets[c].acceptorstake
    if v == self.bets[c].eqtest:
        self.add(self.bets[c].maker, self.bets[c].asset, totalstake)
    else:
        self.add(self.bets[c].acceptor, self.bets[c].asset, totalstake)
    self.bets[c].maker = 0
    self.bets[c].feed = 0
    self.bets[c].asset = 0
    self.bets[c].makerstake = 0
    self.bets[c].acceptorstake = 0
    self.bets[c].eqtest = 0
    self.bets[c].maturity = 0

def cancel_bet(c):
    if self.bets[c].acceptor or msg.sender != self.bets[c].maker:
        stop
    self.balances[msg.sender][self.bets[c].asset] += self.bets[c].makerstake
    self.bets[c].maker = 0
    self.bets[c].feed = 0
    self.bets[c].asset = 0
    self.bets[c].makerstake = 0
    self.bets[c].acceptorstake = 0
    self.bets[c].eqtest = 0
    self.bets[c].maturity = 0

Также хочу напомнить, что уже имеется 106 умных контрактов. Ознакомится с ними вы можете по ссылке ниже.

http://ether.fund/contracts/
legendary
Activity: 3752
Merit: 1864
1 ether = 1000000000000000000 wei
1 ether = 1000000000000000 Kwei
1 ether = 1000000000000 Mwei
1 ether = 1000000000 Gwei
1 ether = 1000000 szabo
1 ether = 1000 finney
1 ether = 0.001 Kether
1 ether = 0.000001 Mether
1 ether = 0.000000001 Gether
1 ether = 0.000000000001 Tether


Как то так Cheesy

Както очень просто ! В свете подходов к юзабильности кефира надо было делать так : 1 кефир = 91279272221807 вэя, 9813768971 киловэя, 27000198 мега вея и так дальше Smiley
legendary
Activity: 1974
Merit: 1160
1 ether = 1000000000000000000 wei
1 ether = 1000000000000000 Kwei
1 ether = 1000000000000 Mwei
1 ether = 1000000000 Gwei
1 ether = 1000000 szabo
1 ether = 1000 finney
1 ether = 0.001 Kether
1 ether = 0.000001 Mether
1 ether = 0.000000001 Gether
1 ether = 0.000000000001 Tether


Как то так Cheesy
legendary
Activity: 1568
Merit: 1002
Ether, Gas, Shannon, Finney,... - эфир реальный brainfuck из мира криптовалют ! Smiley
Растущего!!! первая поддержка 0.0026. Вторая -0.0042, текущая -0.0056/0.58. Предполагаемая следующая -0.66/0.68(после прорыва и закрепления, на текущий момент- это сопротивление, которое несколько раз уже тестировали, значит скоро пробьем). Тренд явно бычий, все спуски откупают на корню. Объемы после краткосрочного снижения, снова пошли в рост. Стакан на продажу слабеет. Первые 5 лямов которые Виталик раздал всем кто принимал участие в разработке успешно слиты а новые поступления только от  майнеров ( 28к в день это слезы). Обновление вершины (0.009)не за горами, и возможно что даже в понедельник. Но даже если это произойдет позже,оптимизма у народа не уменьшится. Единственное что надо помнить, что это пока на текущем моменте. А что будет через две недели предугадать сложно. Нужно мониторить ситуацию, что бы не пропустить возможность повторной закупки снизу
Я имел в виду не курс, а удобство работы с этой криптоплатформой.
удобство отсутствует как классовый враг, как в плане использования кошелька, так и в плане отсутствия нормального майнинга
В  точку. Честно признаюсь окромя кошелка на Поло ничего пока и не ставил. вернее пробовал, а оно не пошло ( на ХР кошель работает у кого-то?) Но по большому счету это скорее плюс, чем минус( для текущего момента - рост будет скорее плавным чем резким)
Важен не кошель, а возможность выстраивания различных программ на основе платформы кефира и люди это понимают. Вот поэтому обороты не падают. Поймите меня правильно, я не пою оду кефиру. Я просто констатирую факт, что на текущий момент реакция положительно-стабильная и хотелось бы что так бы и дальше было.
hero member
Activity: 619
Merit: 500
Ether, Gas, Shannon, Finney,... - эфир реальный brainfuck из мира криптовалют ! Smiley
Растущего!!! первая поддержка 0.0026. Вторая -0.0042, текущая -0.0056/0.58. Предполагаемая следующая -0.66/0.68(после прорыва и закрепления, на текущий момент- это сопротивление, которое несколько раз уже тестировали, значит скоро пробьем). Тренд явно бычий, все спуски откупают на корню. Объемы после краткосрочного снижения, снова пошли в рост. Стакан на продажу слабеет. Первые 5 лямов которые Виталик раздал всем кто принимал участие в разработке успешно слиты а новые поступления только от  майнеров ( 28к в день это слезы). Обновление вершины (0.009)не за горами, и возможно что даже в понедельник. Но даже если это произойдет позже,оптимизма у народа не уменьшится. Единственное что надо помнить, что это пока на текущем моменте. А что будет через две недели предугадать сложно. Нужно мониторить ситуацию, что бы не пропустить возможность повторной закупки снизу
Я имел в виду не курс, а удобство работы с этой криптоплатформой.
удобство отсутствует как классовый враг, как в плане использования кошелька, так и в плане отсутствия нормального майнинга
legendary
Activity: 3752
Merit: 1864
Ether, Gas, Shannon, Finney,... - эфир реальный brainfuck из мира криптовалют ! Smiley
Растущего!!! первая поддержка 0.0026. Вторая -0.0042, текущая -0.0056/0.58. Предполагаемая следующая -0.66/0.68(после прорыва и закрепления, на текущий момент- это сопротивление, которое несколько раз уже тестировали, значит скоро пробьем). Тренд явно бычий, все спуски откупают на корню. Объемы после краткосрочного снижения, снова пошли в рост. Стакан на продажу слабеет. Первые 5 лямов которые Виталик раздал всем кто принимал участие в разработке успешно слиты а новые поступления только от  майнеров ( 28к в день это слезы). Обновление вершины (0.009)не за горами, и возможно что даже в понедельник. Но даже если это произойдет позже,оптимизма у народа не уменьшится. Единственное что надо помнить, что это пока на текущем моменте. А что будет через две недели предугадать сложно. Нужно мониторить ситуацию, что бы не пропустить возможность повторной закупки снизу
Я имел в виду не курс, а удобство работы с этой криптоплатформой.
legendary
Activity: 1568
Merit: 1002
Ether, Gas, Shannon, Finney,... - эфир реальный brainfuck из мира криптовалют ! Smiley
Растущего!!! первая поддержка 0.0026. Вторая -0.0042, текущая -0.0056/0.58. Предполагаемая следующая -0.66/0.68(после прорыва и закрепления, на текущий момент- это сопротивление, которое несколько раз уже тестировали, значит скоро пробьем). Тренд явно бычий, все спуски откупают на корню. Объемы после краткосрочного снижения, снова пошли в рост. Стакан на продажу слабеет. Первые 5 лямов которые Виталик раздал всем кто принимал участие в разработке успешно слиты а новые поступления только от  майнеров ( 28к в день это слезы). Обновление вершины (0.009)не за горами, и возможно что даже в понедельник. Но даже если это произойдет позже,оптимизма у народа не уменьшится. Единственное что надо помнить, что это пока на текущем моменте. А что будет через две недели предугадать сложно. Нужно мониторить ситуацию, что бы не пропустить возможность повторной закупки снизу
legendary
Activity: 3752
Merit: 1864
Ether, Gas, Shannon, Finney,... - эфир реальный brainfuck из мира криптовалют ! Smiley
hero member
Activity: 749
Merit: 501
🌟 COMSA ICO: 10/02/17 🌟
Спасибо ! Это второй шаг к успеху Smiley Теперь вопрос - СКОЛЬКО газа надо чтобы переслать "кровно нажитые", в виде 18 эфиров ?

итить колотить, кроме Эфиров, есть еще какой то газ.
Это откуда берется и для чего нужен ?

 Ну так, крипта ньюб-киллер ).
legendary
Activity: 2128
Merit: 1019
Спасибо ! Это второй шаг к успеху Smiley Теперь вопрос - СКОЛЬКО газа надо чтобы переслать "кровно нажитые", в виде 18 эфиров ?

итить колотить, кроме Эфиров, есть еще какой то газ.
Это откуда берется и для чего нужен ?
Hix
legendary
Activity: 1971
Merit: 1036
.... Вопрос - где я накосячил ? Smiley

Ты не ввёл значение газа, т.е. транзакция должна выглядеть следующим образом  eth.sendTransaction({from: '0x036a03fc47084741f83938296a1c8ef67f6e34fa', to: '0xa8ade7feab1ece71446bed25fa0cf6745c19c3d5', value: web3.toWei(1, "ether"),gas:2200})
а как рассчитывается количество gas, и какой у него "курс" по отношению к эфиру, т.к. я понимаю что некоторую часть эфира надо "оставить" для обеспечения gas
Курс газа есть тут https://stats.ethdev.com/ там найдешь думаю сам.
Спасибо ! Это второй шаг к успеху Smiley Теперь вопрос - СКОЛЬКО газа надо чтобы переслать "кровно нажитые", в виде 18 эфиров ?
Насколько я понял 21000 это минимум сейчас для транзакции любого размера.
legendary
Activity: 3752
Merit: 1864
.... Вопрос - где я накосячил ? Smiley

Ты не ввёл значение газа, т.е. транзакция должна выглядеть следующим образом  eth.sendTransaction({from: '0x036a03fc47084741f83938296a1c8ef67f6e34fa', to: '0xa8ade7feab1ece71446bed25fa0cf6745c19c3d5', value: web3.toWei(1, "ether"),gas:2200})
а как рассчитывается количество gas, и какой у него "курс" по отношению к эфиру, т.к. я понимаю что некоторую часть эфира надо "оставить" для обеспечения gas
Курс газа есть тут https://stats.ethdev.com/ там найдешь думаю сам.
Спасибо ! Это второй шаг к успеху Smiley Теперь вопрос - СКОЛЬКО газа надо чтобы переслать "кровно нажитые", в виде 18 эфиров ?
Hix
legendary
Activity: 1971
Merit: 1036
.... Вопрос - где я накосячил ? Smiley

Ты не ввёл значение газа, т.е. транзакция должна выглядеть следующим образом  eth.sendTransaction({from: '0x036a03fc47084741f83938296a1c8ef67f6e34fa', to: '0xa8ade7feab1ece71446bed25fa0cf6745c19c3d5', value: web3.toWei(1, "ether"),gas:2200})
а как рассчитывается количество gas, и какой у него "курс" по отношению к эфиру, т.к. я понимаю что некоторую часть эфира надо "оставить" для обеспечения gas
Курс газа есть тут https://stats.ethdev.com/ там найдешь думаю сам.
hero member
Activity: 798
Merit: 1009
вот напиши для geth (см. выше мой пост) я тебе сразу перешлю Smiley

У меня AlethZero, geth еще не курил) Да и уже все заработало, так что скидывать ничего не нужно. Разве что в благотворительных целях  Wink
legendary
Activity: 3752
Merit: 1864
.... Вопрос - где я накосячил ? Smiley

Ты не ввёл значение газа, т.е. транзакция должна выглядеть следующим образом  eth.sendTransaction({from: '0x036a03fc47084741f83938296a1c8ef67f6e34fa', to: '0xa8ade7feab1ece71446bed25fa0cf6745c19c3d5', value: web3.toWei(1, "ether"),gas:2200})
а как рассчитывается количество gas, и какой у него "курс" по отношению к эфиру, т.к. я понимаю что некоторую часть эфира надо "оставить" для обеспечения gas
hero member
Activity: 602
Merit: 500
.... Вопрос - где я накосячил ? Smiley

Ты не ввёл значение газа, т.е. транзакция должна выглядеть следующим образом  eth.sendTransaction({from: '0x036a03fc47084741f83938296a1c8ef67f6e34fa', to: '0xa8ade7feab1ece71446bed25fa0cf6745c19c3d5', value: web3.toWei(1, "ether"),gas:2200})
legendary
Activity: 3752
Merit: 1864
Ребята, кто-то может бросить на 001356974cded070ea3beb7dcf61f6878bea6c22 минимальную сумму (100 wei или меньше) чтобы понять работает кошелек или нет? Отпишитесь только когда бросите, заранее спасибо!

вот напиши для geth (см. выше мой пост) я тебе сразу перешлю Smiley
legendary
Activity: 3752
Merit: 1864
Доброго вечера самым умным Smiley
Вопрос: эфир поднял на geht. Завел кошелек, закинул на него чуток эфиров...Закинул с полоникса. Все получилось замечательно! А потом озадачился отправить их обратно. Курю мануал, читаю, делаю: чтобы отослать, пишем в консоли следующее: eth.sendTransaction({from: 'кошель откуда', to: 'кошель куда', value: web3.toWei(сумма_перевода, "ether")})
На этом счету 18.09513761 Ether, поскольку 100 недокопеек берут за транзакцию, пишу: eth.sendTransaction({from: 'кошель откуда', to: 'кошель куда', value: web3.toWei(18.09513661, "ether")}), жму ентер, и получаю:
Insufficient funds for gas * price + value
    at InvalidResponse (:-81076:-165)
    at send (:-154580:-165)
    at sendTransaction (:-131712:-165)
    at :1:1
что какбы намекает что недоплатил я за пересылку. Вопрос - где я накосячил ? Smiley
Jump to: