abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 3
    dnes 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 12
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (17%)
    Celkem 762 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník
    Alternativně viz také můj osobní blog (RSS pro anglické články, RSS pro české články), kde toho hlavně v angličtině vychází mnohem víc.

    Víte že můžete odebírat mé blogy pomocí RSS? (Co je to RSS?)


    A kdo neumí použít RSS, tak je tu twitter: @Bystroushaak.

    Od určité doby jsou všechny texty které zde publikuji verzované na Githubu.

    Jestliže najdete chybu, nepište mi do diskuze a rovnou jí opravte. Github má online editor, není to skoro žádná práce a podstatně mi tím usnadníte život. Taky vás čeká věčná sláva v commit logu :)

    Aktuální zápisy

    Ethereum prakticky

    16.8.2015 15:21 | Přečteno: 20018× | Obecné IT | Výběrový blog | poslední úprava: 19.8.2015 14:22

    Zhruba před rokem jsem tu psal o nové, „revoluční“ technologii nazvané Ethereum. Tenkrát se ještě nejednalo o nic víc, než teorii a pár „proof of concept“ ukázek. Zhruba před čtrnácti dny bylo však Ethereum spuštěno ve Frontier verzi, což se dá považovat za veřejnou betu. Dnes se tudíž můžeme podívat, jak to vypadá prakticky.

    Rekapitulace

    Můj oblíbený, a většině smrtelníků nicneříkající elevator pitch je:

    Na konsenzu založený virtuální stroj a měna používající decentralizovanou technologii blockchainu.

    Ethereum je technologie postavená nad blockchainem, tedy sdílenou databází, kde o transakcích a úkonech nad touto databází hlasuje celá síť. Oproti kryptoměnám se však nejedná jen o další druh „peněz“, protože přináší navíc koncept „smart contracts“, tedy „chytrých kontraktů“.

    Tyto kontrakty jsou v podstatě miniaturní programy běžící v gigantické virtuální mašině, kterou mezi sebou sdílí a vykonává celá síť. Kontrakty můžou mít vlastní adresu, na a z které je možné posílat ether - jednotku virtuální měny.

    Těžaři kromě běžného Proof of Work algoritmu a zpracování transakcí mezi účty také vyhodnocují běh této virtuální mašiny stejně jako transakce, tedy hlasováním o dalším stavu.

    Aby se to těžařům vyplatilo, dostávají od sítě zaplaceno za běh virtuální mašiny „gasetherů za každou proběhlou instrukci, každý uložený bajt a každou poslanou zprávu. Gas je nastavený tržně, samotnými těžaři.

    Kontrakty nemohou běžet do nekonečna - typicky se aktivují s příchozí transakcí a běží pouze dokud nespálí gas, který mají k dispozici.

    Výhoda kontraktů spočívá ve faktu, že jednou nahrané do blockchainu se již nedají měnit a tedy je zaručeno, že dojde k jejich vykonání. Zdrojový bajtkód (a někdy i kompletní zdrojáky) je přitom dostupný všem a všichni si tedy mohou ověřit, že kontrakt dělá co deklaruje že dělat má.

    K čemu to?

    Díky této vlastnosti je možné implementovat netriviální systémy vyžadující důvěru. Automatizované směnárny, banky, úložny peněz, distribuované organizace, kasína, tržiště, volební systémy a tak dále.

    Všechny tyto systémy byly v minulosti implementovány jako blackboxy, které tvrdily, že nepodvádí, neměli jste ale žádnou možnost podvodu zabránit, či ověřit, že skutečně pracují a za každých okolností (i pod nátlakem) budou pracovat jak deklarují. To s Ethereem nyní neplatí, neboť na kontrakty se můžete spolehnout.

    Kromě toho je samozřejmě kontrakt turingovsky kompletní, což znamená, že v něm můžete naprogramovat cokoliv chcete. Typickou ukázkou jsou třeba jmenné registry ala DNS implementované jako key:val storage, která na příchozí transakci odpoví překladem key na val.

    Tím však možnosti rozhodně nekončí, protokol totiž podporuje nízké datové toky pro tenké klienty. Díky tomu je možné zabudovávat podporu například do různých miniaturních zařízení, kde Ethereum slouží jako distribuovaná platforma zajišťující komunikaci (představte si třeba email či jabber postavený nad Ethereem).

    Aby toho všeho nebylo málo, celé Ethereum je vymyšleno a implementováno velmi chytře, s matematickými důkazy, Merkle Patricia stromy, automatickým tržním balancováním a tak dále. Dá se více/méně spolehnout, že autoři mysleli na všechno a pokud si u něčeho na laické úrovni říkáte „to přece nemůže fungovat“, nebo „tady je určitě chyba a proto to přestane fungovat“, autoři s tím počítali a problém řeší v samotném zárodku.

    Současný stav

    V současné době se technologie nachází v takzvaném Frontier stavu. Jedná se o veřejnou betu, která (oproti původním prohlášením a očekáváním) funguje již v plnohodnotném módu (tedy 100% těžení[1, 2]), není však příliš vhodná pro obyčejné uživatele.

    Většina softwaru je v současné době ovladatelná čistě z příkazové řádky, často velmi složitě (javascript konzole) a můžete narazit na nejrůznější bugy. Blockchain se již ale měnit nebude, tedy všechny ethery které získáte na Frontieru vám zůstanou i do budoucna.

    Poté co budou odladěny bugy a vznikne uživatelsky příjemný software bude následovat fáze Homestead, během které lze předpokládat nárůst uživatelů. V této fázi by již nemělo hrozit, že dojde k nějakému problému, či větší změně.

    Po fázi Homestead bude následovat fáze Metropolis, která předpokládá možnost plnohodnotného použití netechnickými osobami. Grafické nástroje, mobilní peněženky, etheromaty, eshopy a tak podobně.

    Existuje ještě jedna fáze Serenity, která teoreticky může přinést změnu Proof of Work algoritmu, který je používaný při hlasování o konsenzu, na něco použitelnějšího a méně zbytečného. Samotných uživatelů by se to ale mělo dotknout minimálně.

    Instalace

    Proces instalace základní sady programů go implementace (existují i C++, python a další) je popsán na githubu, v sekci Building Ethereum.

    Sám používám Linux Mint a na serverech Ubuntu, budu se tedy věnovat pouze Ubuntu verzi. Instalaci započneme přidáním PPA do systému:

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ethereum/ethereum
    sudo add-apt-repository -y ppa:ethereum/ethereum-dev
    sudo apt-get update
    sudo apt-get install ethereum ethminer

    Programy

    Instalací jsme získali několik programů, ze kterých nás nejvíc zajímá dvojice geth a ethminer.

    geth

    geth slouží jako miner, ale i jako základní uživatelský klient. Po svém spuštění zahájí synchronizaci se sítí. K dispozici dává JavaScriptovou konzoli a také RPC API.

    Úplně nejzákladnějším krokem hned po instalaci je vytvoření nového účtu následujícím příkazem:

    $ geth account new
    
    =======================================
    Disclaimer of Liabilites and Warranties
    =======================================
    
    THE USER EXPRESSLY KNOWS AND AGREES THAT THE USER IS USING THE ETHEREUM PLATFORM AT THE USER’S SOLE
    RISK. THE USER REPRESENTS THAT THE USER HAS AN ADEQUATE UNDERSTANDING OF THE RISKS, USAGE AND
    INTRICACIES OF CRYPTOGRAPHIC TOKENS AND BLOCKCHAIN-BASED OPEN SOURCE SOFTWARE, ETH PLATFORM AND ETH.
    THE USER ACKNOWLEDGES AND AGREES THAT, TO THE FULLEST EXTENT PERMITTED BY ANY APPLICABLE LAW, THE
    DISCLAIMERS OF LIABILITY CONTAINED HEREIN APPLY TO ANY AND ALL DAMAGES OR INJURY WHATSOEVER CAUSED
    BY OR RELATED TO RISKS OF, USE OF, OR INABILITY TO USE, ETH OR THE ETHEREUM PLATFORM UNDER ANY CAUSE
    OR ACTION WHATSOEVER OF ANY KIND IN ANY JURISDICTION, INCLUDING, WITHOUT LIMITATION, ACTIONS FOR
    BREACH OF WARRANTY, BREACH OF CONTRACT OR TORT (INCLUDING NEGLIGENCE) AND THAT NEITHER STIFTUNG
    ETHEREUM NOR ETHEREUM TEAM SHALL BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR
    CONSEQUENTIAL DAMAGES, INCLUDING FOR LOSS OF PROFITS, GOODWILL OR DATA. SOME JURISDICTIONS DO NOT
    ALLOW THE EXCLUSION OF CERTAIN WARRANTIES OR THE LIMITATION OR EXCLUSION OF LIABILITY FOR CERTAIN
    TYPES OF DAMAGES. THEREFORE, SOME OF THE ABOVE LIMITATIONS IN THIS SECTION MAY NOT APPLY TO A USER.
    IN PARTICULAR, NOTHING IN THESE TERMS SHALL AFFECT THE STATUTORY RIGHTS OF ANY USER OR EXCLUDE
    INJURY ARISING FROM ANY WILLFUL MISCONDUCT OR FRAUD OF STIFTUNG ETHEREUM.
    
    Do you accept this agreement? [y/N] y
    
    Your new account is locked with a password. Please give a password. Do not forget this password.
    Passphrase:
    Repeat Passphrase: 
    Address: {797e99024a03481ad2a00ffe9c98fe145c817969}

    Výsledek si hned můžete zkontrolovat:

    $ geth account
    Account #0: {797e99024a03481ad2a00ffe9c98fe145c817969}

    Jak vidíte, v systému mám nyní nový účet s adresou 797e99024a03481ad2a00ffe9c98fe145c817969. Tato adresa se často zadává s předponou určující její hexadecimálnost, tedy 0x.

    Jakmile mám adresu, můžu si na ní nechat poslat ethery, či obecně transakce, posílat transakce z ní, dívat se na stavy ostatních účtů, vytvářet kontrakty a také těžit.

    ethminer

    ethminer je podstatně jednodušší program než geth, protože jak už název napovídá, umožňuje jen těžit. Zde je ukázka příkazu pro poolové těžení na mém procesoru pomocí 5 threadů:

    $ ethminer -t 5 -F http://us1.ethpool.org/miner/0x797e99024a03481ad2a00ffe9c98fe145c817969/0.1

    Pool funguje tak, že jakmile dosáhne vytěžená hodnota 1 etheru, je poslána na adresu uvedenou v URL (všimněte si 0x na začátku). Poslední parametr označuje požadovanou difficulty, v tomto případě 0.1, tedy na 100kHash/s.

    Těžení na procesoru není moc výhodné, proto je zde parametr -G. K tomu aby vám však fungoval potřebujete správnou konstelaci výkonné grafiky, podporovaných ovladačů, OpenCL, Venuše s Merkurem, sudiček u kolébky a I-ťingu. Pokud jí nemáte, bude vám to shazovat Xka a vyhazovat roztomilou hlášku:

    [OPENCL]:No OpenCL platforms found
    No GPU device with sufficient memory was found. Can't GPU mine. Remove the -G argument

    Těžení na grafice je přibližně 10 - 50x výkonnější. Pokud se vám s tím nechce moc experimentovat, je zde také možnost koupit si na amazonu EC2 instanci s výkonnou grafikou, která funguje přibližně na 9MHash/s. Detaily instalace viz ETHEREUM CLOUD MINING FOR DUMMIES. Den běhu / jeden ether v pool těžení vás tam podle mého experimentu vyjde na přibližně 14 dolarů.

    Použití geth

    Předpokládám, že jste si nainstalovali geth. Pokud jste dobrodruzi, tak jste možná i spustili příkaz geth console a byli zavaleni tunou neustále se updatujících hlášek. Co teď s tím?

    Otevřete si dva terminály. V prvním spusťte konzoli s přesměrováním:

    $ geth console 2>geth.log
    instance: Geth/v1.0.1/linux/go1.4.2
     datadir: /home/bystrousak/.ethereum
    coinbase: 0x797e99024a03481ad2a00ffe9c98fe145c817969
    at block: 76287 (2015-08-13 00:17:27)
     modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
    >

    Ve druhém si pak můžete pustit synchronizační zprávy:

    tail -f geth.log

    Pokud by se vám geth nechtěl synchronizovat a vyhazoval v synchronizačním logu spoustu hlášek jako „Synchronisation failed: block downloading canceled (requested)“ a tak, vypněte konzoli, spusťte geth upgradedb, počkejte než skončí a zase jí zapněte. Tohle se stává typicky po upgrade na novou verzi.

    Nyní jste tedy v konzoli. Dobré. Co s tím?

    Stav účtu

    Úplně nejzákladnější je příkaz na zjištění stavu účtu. Jedná se o JavaScriptovou konzoli, celý příkaz je tedy v JavaScriptu:

    > web3.fromWei(eth.getBalance(eth.coinbase), "ether")
    '18.27723449'

    Jak můžete vidět, mám na účtu momentálně přesně 18.27723449 etherů, které jsem koupil za přibližně 500kč (0.07BTC) ve středu 12.8.2015. „Příkaz“ se skládá ze dvou funkcí a dvou konstant:

    Funkce web3.fromWei() konvertuje částku ve wei (nejnižší jednotka, 10-18 etheru) na ethery, resp. na hodnotu zadanou string konstantou v druhém parametru ("ether" v tomhle případě). Pokud bych použil samotné eth.getBalance(eth.accounts[0]), dostal bych hodnotu 18277234490000000000, což je kapku nepřehledné.

    eth.coinbase je by default pointer na eth.accounts[0].

    Poslání etherů

    Příjem je jednoduchý a stačí vám k němu pouze adresa. Jak na odeslání peněz?

    > eth.sendTransaction({from:eth.coinbase, to:"0x685628357ea28e77263ea037e2fad6d34e59ab10", value: web3.toWei(0.05, "ether")})

    Jedná se o příkaz v konzoli, zde jsem ho pro přehlednost rozepsal:

    eth.sendTransaction({
        from:eth.coinbase,
        to:"0x685628357ea28e77263ea037e2fad6d34e59ab10",
        value: web3.toWei(0.05, "ether")
    })

    Jak je možné vidět, k odesílání etherů slouží funkce eth.sendTransaction(), která očekává jako parametr slovník sestávající se z klíčů from, to a value (ve wei).

    Poté co funkci odešlete do konzole vás geth vyzve k zadání hesla, které jste nastavili v době generování adresy a vrátí jako návratovou hodnotu ID transakce:

    Please unlock account 797e99024a03481ad2a00ffe9c98fe145c817969.
    Passphrase: 
    Account is now unlocked for this session.
    "0x0129afe425d6eab2aef3e55834bac8e11ccffa35dc77feb1b87dd6d55b340cd6"



    (Na webu https://etherchain.org pak můžete vidět, že transakce skutečně odešla.)

    a na druhém počítači:

    $ geth console 2>geth.log 
    instance: Geth/v1.0.1/linux/go1.4.2
     datadir: /home/bystrousak/.ethereum
    coinbase: 0x685628357ea28e77263ea037e2fad6d34e59ab10
    at block: 28709 (Mon, 03 Aug 2015 21:30:02 CEST)
    modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
    > web3.fromWei(eth.getBalance(eth.coinbase), "ether")
    0.05
    Zde si můžete všimnout „divného“ čísla bloku a datumu. Jedná se o geth na serveru, kde jsem geth nainstaloval nově (proto to nízké číslo bloku), přesto se téměř okamžitě synchronizoval se sítí.

    JavaScript API

    Kompletní popis celého dostupného JavaScriptového API se dá najít opět na GitHubu: Management API Reference. Zde zmíním jen ty části, které mi přijdou nejdůležitější.

    personal

    Objekt personal vám umožňuje manipulovat s vaší peněženkou. Názvy jsou docela samopopisné:

    miner

    Jak už název napovídá, miner vám umožňuje kontrolovat geth miner zevnitř. geth ovšem neumí těžit v poolu, takže to není zas tak moc užitečné.

    Zajímavé jsou hlavně první tři, které vám umožňují spustit a zastavit miner a zjistit kolik váš procesor dává hashrate (v H/s). Pokud chcete těžit, potřebujete taky DAG, takže doporučuji zavolat miner.startAutoDAG(), nebo geth spouštět s parametrem --autodag.

    Někomu také může přijít zajímavý parametr miner.setExtra("extra data"), který do každého vytěženého bloku přidá "extra data" jako podpis. Ty se pak zobrazují v různých přehledech bloků a tak, ale k ničemu praktickému to imho není.

    web3

    web3 zpřístupňuje všechno možné JavaScriptové API vhodné pro psaní a práci s kontrakty. Jsou tam desítky funkcí, kompletní přehled najdete zde: Web3 Javascript Ðapp API Reference.

    net

    net je zkratka pro web3.net, jenž vám umožňuje zjišťovat základní info o síti.

    První vrací počet připojených peerů (0 = nesynchronizujete se), druhý true v případě že jste připojeni.

    eth

    eth je opět zkratka, tentokrát pro web3.eth. Jak je vidět, nachází se toho zde opravdu hodně:

    Co vás bude pravděpodobně zajímat je:

    Kde a jak získat ethery

    Nejjednodušší cesta je momentálně přes Bitcoin. Ti co jsou z Prahy, či ostatních měst kde se nacházejí bitcoinomaty (Plzeň, Brno a Ostrava) to mají lehké; stačí jim přijít k bitcoinomatu, nakrmit ho penězi a získané Bitcoiny pak směnit na jedné z burz za Ethereum. Samotného mě překvapilo, jak moc jednoduché to je, zhruba na úrovni použití běžného bankomatu a tak si troufám tvrdit, že to zvládne opravdu každý.

    Pokud bitcoiny, či bitcoinomat poblíž nemáte, můžete se poohlédnout po burze, která bude brát třeba převody z karty, z účtu na účet, či pomocí paypalu. Zde se již nemusíte omezovat na Bitcoin, ale můžete takhle zkusit koupit rovnou ether.

    Jestliže by se vám nechtělo ani do tohohle, pořád ještě máte možnost si nějaké ty ethery poctivě vytěžit, pokud tedy máte vhodný hardware.

    Burzy

    Burz momentálně existuje několik a dá se říct, že jen přibývají. Kompletní přehled najdete zde: https://www.cryptocompare.com/coins/eth/. Zde je malý přehled burz fungujících ke dni vydání článku:

    Na všech se musíte zaregistrovat a často poněkud složitě ověřit svojí totožnost, než vás burza pustí k obchodování. Výhoda je, že jak máte jednou ověřenou totožnost, není problém dělat například bankovní transakce, či nakupovat za paypal.

    Můj oblíbenec je potom https://shapeshift.io/, což je cosi jako transformátor kryptoměn. Vyberete z čeho do čeho a bez registrace odešlete na zobrazenou adresu vaší kryptoměnu, přičemž vám skoro hned přijde kryptoměna do které transformujete (samozřejmě mínus poplatky za převod). Kupoval jsem takhle dvakrát ether pro ostatní lidi a funguje to krásně.

    Bohužel, spousta lidí neprojde testem inteligence ohledně toho kam napsat jakou adresu, zde je tedy vysvětlující screenshot, který jsem dělal pro kamaráda:



    (Na vyplnění opravdu není nic těžkého.)

    Zrada je v tom, že tam musíte dát i svojí bitcoinovou adresu pro případ, že by došlo k chybě v transakci, aby vám mohli peníze vrátit.

    Těžení

    Těžení se dá rozdělit na CPU, GPU a poolované. Co to znamená?

    Pomocí standardně dodávaného programu geth máte možnost těžit přímo ve spolupráci se sítí. To znamená, že nějakou dobu těžíte třeba pomocí procesoru, pak konečně vytěžíte blok (síť uzná váš výkon a odmění vás za jeho pálení pro ní) a dostanete 5 etherů. I když je block-time v Ethereu 12-20 vteřin a tedy máte podstatně větší šanci blok vytěžit, než třeba v Bitcoinu, těžení čistě pomocí procesoru by to trvalo řádově desítky až stovky dní.

    Těžení na grafice je jiná, zde již máte praktickou šanci narazit na blok v řádu dnů. Pořád to ale má ten workflow pustím miner, ten běží a nic moc viditelného nedělá a po nějaké nespecifikované době možná vytěžím blok. Čím méně máte výkonu, tím je doba delší, či pravděpodobnost nižší a nejhorší na tom je, že více/méně nevidíte žádný progress bar, takže to celé působí dost depresivně.

    Netrpěliví lidé s nic moc hardwarem jako já tedy těží v poolech, kde se na těžení jednoho bloku skládá velký počet těžařů. Momentálně jediným mě známým poolem[3] je http://ethpool.org/. Ten funguje bez registrace. ethminer nakrmíte URL, jejíž součástí je adresa vaší peněženky, vyberete difficulty podle vašeho hardware a můžete začít (viz příkaz výše v sekci ethminer).

    Pak se již můžete posadit do křesla, dát si nohy na stůl a sledovat, jak vám naskakují ethery, což vypadá třeba takto:

    Jakmile dosáhnete jednoho etheru, pool by vám ho měl odeslat na uvedenou adresu.

    Edit: Objevila se kalkulačka náročnosti těžby a předpokládaných výdělků: Ethereum Mining Profitability Calculator.

    Smart contracts

    Vzhledem k tomu, že síť byla spuštěna ve Frontier režimu teprve před dvěma týdny (do té doby bylo relativně těžké získat ether k pokusům) a týden z toho jsem měl dovolenou mimo internet, nenašel jsem si zatím moc času na to si kontrakty zkusit programovat.

    V budoucnu bych to rád napravil a napsal pár článků na tohle téma, zatím se ale pojďme podívat alespoň na hello world příklad uvedený na stránce Etherea jako greeter.

    Jelikož je greeter napsaný v jazyku Solidity, bude se prvně hodit kompiler. Na Ubuntu je dostupný v již přidaném PPA pod jménem solc, nainstalovat ho tedy můžete pomocí „sudo aptitude install solc“.

    V konzoli potom můžete ověřit že je dostupný pomocí:

    > eth.getCompilers()
    ["Solidity"]

    Nyní k samotnému greeteru:

    contract mortal {
        /* Define variable owner of the type address*/
        address owner;
    
        /* this function is executed at initialization and sets the owner of the contract */
        function mortal() { owner = msg.sender; }
    
        /* Function to recover the funds on the contract */
        function kill() { if (msg.sender == owner) suicide(owner); }
    }
    
    contract greeter is mortal {
        /* define variable greeting of the type string */
        string greeting;
    
        /* this runs when the contract is executed */
        function greeter(string _greeting) public {
            greeting = _greeting;
        }
    
        /* main function */
        function greet() constant returns (string) {
            return greeting;
        }
    }

    Jak můžete vidět, jsou zde definovány dva kontrakty - mortal (smrtelník) a greeter, který od smrtelníka dědí vlastnosti.

    mortal v podstatě jen definuje základní věci, které by každý kontrakt měl umět, tedy znát svého vlastníka a umět sám sebe zabít, pokud mu to vlastník přikáže.

    greeter pak definuje konstruktor, který dynamicky do objektu uloží pozdrav a pak ho vrátí, pokud je zavolána metoda greet().

    Z ukázky je možné vidět, že Solidity je divná sprsklotina C-like jazyka a go s poněkud divnou syntaxí definování metod. Nevím, co vedlo tvůrce zrovna k tomuhle, ale osobně se mi to moc nelíbí, příště se tedy podívám na lll a serpent.

    Pokud by někoho Solidity zaujalo, zde jsou další zdroje:

    Kompilace

    Výše uvedený zdrojový kód v je nyní třeba zkompilovat, pomocí solc. Ten je přístupný přímo z geth console. Bohužel v současnosti není možné načítat scripty nějak rozumně z disku, musíme vše tedy do konzole vložit manuálně (je vidět, že počítají hlavně s RPC API, kde tohle nevadí):

    var greeterSource = 'contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) suicide(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }'
    

    Kompilace se pak volá funkcí web3.eth.compile.solidity(source):

    var greeterCompiled = web3.eth.compile.solidity(greeterSource)

    Tím získáme strukturu popisující zkompilovaný kód:

    > greeterCompiled
    {
      greeter: {
        code: "0x60606040526040516102b43803806102b48339016040526060805160600190602001505b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b806001600050908051906020019082805482825590600052602060002090601f01602090048101928215609e579182015b82811115609d5782518260005055916020019190600101906081565b5b50905060c5919060a9565b8082111560c1576000818150600090555060010160a9565b5090565b50505b506101dc806100d86000396000f30060606040526000357c01000000000000000000000000000000000000000000000000000000009004806341c0e1b514610044578063cfae32171461005157610042565b005b61004f6004506100ca565b005b61005c60045061015e565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156100bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561015b57600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b565b60206040519081016040528060008152602001506001600050805480601f016020809104026020016040519081016040528092919081815260200182805480156101cd57820191906000526020600020905b8154815290600101906020018083116101b057829003601f168201915b505050505090506101d9565b9056",
        info: {
          abiDefinition: [{...}, {...}, {...}],
          compilerVersion: "0.1.1",
          developerDoc: {
            methods: {}
          },
          language: "Solidity",
          languageVersion: "0",
          source: "contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) suicide(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }",
          userDoc: {
            methods: {}
          }
        }
      },
      mortal: {
        code: "0x60606040525b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908302179055505b60d58061003f6000396000f30060606040526000357c01000000000000000000000000000000000000000000000000000000009004806341c0e1b5146037576035565b005b60406004506042565b005b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141560d257600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b5b56",
        info: {
          abiDefinition: [{...}, {...}],
          compilerVersion: "0.1.1",
          developerDoc: {
            methods: {}
          },
          language: "Solidity",
          languageVersion: "0",
          source: "contract mortal { address owner; function mortal() { owner = msg.sender; } function kill() { if (msg.sender == owner) suicide(owner); } } contract greeter is mortal { string greeting; function greeter(string _greeting) public { greeting = _greeting; } function greet() constant returns (string) { return greeting; } }",
          userDoc: {
            methods: {}
          }
        }
      }
    }
    

    Pozor, nejedná se o instanci objektu, jen o zkompilovaný kód!

    Nahrání do sítě

    Instanci vytvoříme nahráním greeteru do sítě:

    var _greeting = "Linuxákům zdar!"
    var greeterContract = web3.eth.contract(greeterCompiled.greeter.info.abiDefinition);
    
    var greeter = greeterContract.new(_greeting,{from:web3.eth.accounts[0], data: greeterCompiled.greeter.code, gas: 1000000}, function(e, contract){
        if(!e) {
    
          if(!contract.address) {
            console.log("Contract transaction send: TransactionHash: " + contract.transactionHash + " waiting to be mined...");
    
          } else {
            console.log("Contract mined! Address: " + contract.address);
            console.log(contract);
          }
    
        }
    })

    geth nás samozřejmě opět vyzve k zadání hesla (při nahrání kontraktu musíme poslat i gas který bude spalovat):

    Please unlock account 797e99024a03481ad2a00ffe9c98fe145c817969.
    Passphrase: 
    Account is now unlocked for this session.
    Contract transaction send: TransactionHash: 0x91d6caefcadf4b071b6f0e6f6811182e053a8cbdcd830bd833e0e1aa4d2d2662 waiting to be mined...
    undefined

    Na etherchainu se opět můžeme podívat, jak transakce vypadá: https://etherchain.org/tx/0x91d6caefcadf4b071b6f0e6f6811182e053a8cbdcd830bd833e0e1aa4d2d2662. Všimněte si, že payload odpovídá sekci code: ze struktury získané kompilátorem.

    Po chvíli se v konzoli objeví:

    > Contract mined! Address: 0x4113caa93a1b90a0659314052305fbe94d2b3d8b
    [object Object]

    Volání kontraktu

    Na lokálním stroji to máme jednoduché, stačí prostě zavolat objekt greeteru, který vznikl po nahrání do sítě:

    > greeter
    {
      address: "0x4113caa93a1b90a0659314052305fbe94d2b3d8b",
      transactionHash: "0x91d6caefcadf4b071b6f0e6f6811182e053a8cbdcd830bd833e0e1aa4d2d2662",
      allEvents: function(),
      greet: function(),
      kill: function()
    }
    

    Povšimněte si klíče address:, který objeví poslední hlášce o kontraktu z předchozí kapitoly. Nyní již tedy k volání konkrétní metody:

    > greeter.greet()
    "Linuxákům zdar!"

    Jednoduché, že? Jak na to ale z jiného počítače? K tomu budeme potřebovat definici ABI a již zmiňovanou adresu:

    > greeterCompiled.greeter.info.abiDefinition;
    [{
        constant: false,
        inputs: [],
        name: "kill",
        outputs: [],
        type: "function"
      }, {
        constant: true,
        inputs: [],
        name: "greet",
        outputs: [{
            name: "",
            type: "string"
          }],
        type: "function"
      }, {
        inputs: [{
            name: "_greeting",
            type: "string"
          }],
        type: "constructor"
      }]
    > greeter.address;
    "0x4113caa93a1b90a0659314052305fbe94d2b3d8b"

    Na druhém počítači pak stačí zavolat metodu eth.contract(ABI).at(Address);

    bystrousak:~,0$ geth console 2>geth.log 
    instance: Geth/v1.0.1/linux/go1.4.2
     datadir: /home/bystrousak/.ethereum
    coinbase: 0x685628357ea28e77263ea037e2fad6d34e59ab10
    at block: 90392 (Sat, 15 Aug 2015 13:45:33 CEST)
    modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
    > var greeter_remote = eth.contract([{constant:false,inputs:[],name:'kill',outputs:[],type:'function'},{constant:true,inputs:[],name:'greet',outputs:[{name:'',type:'string'}],type:'function'},{inputs:[{name:'_greeting',type:'string'}],type:'constructor'}]).at('0x4113caa93a1b90a0659314052305fbe94d2b3d8b');

    čímž vznikne objekt, který můžeme volat stejně jako v předchozím příkladě:

    > greeter_remote.greet()
    "Linuxákům zdar!"

    Zajímavá je rychlost vykonání, která je prakticky okamžitá.

    Zabití kontraktu

    Pokud se vám kontrakt přestane líbit, máte vždy možnost ho zabít. Učinit tak lze zasláním kill zprávy (menší transakční cena):

    greeter.kill.sendTransaction({from:eth.accounts[0]})

    Pokud si ještě vzpomínáte na kód objektu mortal, je vám asi jasné, jak to funguje:

    contract mortal {
        address owner;
    
        function mortal() { owner = msg.sender; }
    
        function kill() { if (msg.sender == owner) suicide(owner); }
    }

    Kontrakt prvně ověří, že jste skutečně jeho tvůrce a pak spáchá sebevraždu, přičemž vám odešle veškerou zbylou hotovost, kterou má na účtě.

    Osobně jsem kontrakt zatím nezabil, aby jste si mohli vyzkoušet mu zaslat zprávu. Vhodné ovšem je kontrakty po sobě čistit, jakmile s nimi přestanete experimentovat, aby síť nebyla zbytečně zahlcená trivialitami.

    Autoři do budoucna uvažují, že kontrakty budou muset platit pronájem i za existenci z bloku do bloku, aby se předešlo přeplnění. Zatím je to však poměrně zbytečné, uvážíme-li velikost běžného kontraktu (<1kB) a že stejně už při vytvoření musí platit za místo, které v síti zabírá. Když k tomu připočítáme, kolik výkonu se zbytečně pálí v Proof of Work algoritmu, podle mého názoru zatím není třeba se moc znervózňovat nesmrtelnými kontrakty.

    Zajímavé projekty

    Teď už víte, co je Ethereum, co jsou to chytré kontrakty, jak se dají použít a programovat. Jak plyne z mé zkušenosti, i když to někomu detailně vysvětlím, neznamená to, že skutečně pochopí celý potenciál, který to nabízí. Pojďme se tedy nyní podívat na několik zajímavých projektů, které nějakým způsobem používají Ethereum.

    ADEPT od IBM/Samsungu

    Zatímco většina se soustředí převážně na kontrakty, v IBM si řekli, jak moc je asi tak Ethereum použitelné jako decentralizovaná platforma pro Internet of Things. Ukázalo se, že docela hodně, díky nízkým datovým tokům, které umožňuje mít velmi tenké klienty. Provozovatel tím získává decentralizovanou komunikační platformu, po které si spolu můžou povídat nejrůznější senzory.

    Augur

    Augur je decentralizovaná burza crowdsourcovaných analýz, odhadů a predikcí. Něco jako když se dělají ankety, akorát bez společnosti, co by ty ankety dělala a mohla falšovat.

    BoardRoom

    BoardRoom vypadá jako podnikový systém, přes který je možné provádět veškeré činnosti nutné k řízení a organizaci firmy. Zahrnuje různé pluginy pro zasedání, hlasování, komise, šifrovanou komunikaci a tak podobně.

    airlock

    Airlock představuje správu klíčů a přístupů k zámkům. Zámky mohou být otevřené pro všechny, pro držitele klíčů, časově, či pouze pro jedno použití.

    slock.it

    Sdílení přístupů k čemukoliv zamykatelnému, od praček po domy. Pokud to dokážete zamknout, oni se postarají o pronájem.

    Maker

    DAO starající se o půjčky. K čemu banky, když můžete svěřit své finance nemyslícím korporacím? :)

    WeiFund

    Decentralizovaný crowdsourcing. Představte si něco jako kickstarter, akorát bez lidí a bez cenzury. Uživatelé hlasují penězi, pokud projekty nevyjdou, jsou jim vráceny.

    Váš projekt

    Ethereum není jen výpočetní síť, je to také komunikační platforma, databáze a měna. Všechno důležité integrované do jednoho systému.

    Na tomhle místě se příště může nacházet i váš projekt. Víte co je to Ethereum, víte jak ho použít, tak na co čekáte? Ti kdo přijdou první s originálními myšlenkami v nově vznikajícím světě chytrých kontraktů mají ty největší šance zbohatnout a přetvořit svět.

    Cena a dohady

    Ethereum je momentálně číslo čtyři na http://coinmarketcap.com/, s finančními toky v řádu pěti milionů dolarů za den. To není špatné, uvážíme-li že existuje teprve něco přes dva týdny. Během tohoto týdne jsem viděl, jak se z jednoho dolaru zvedlo na 2.22, načež zase pokleslo na 1.39.

    Jak je vidět, jedná se o ideální měnu pro spekulace. Vzhledem k tomu, že se momentálně nachází ve veřejné betaverzi a nejsou k dispozici žádné uživatelsky přívětivé nástroje, dá se očekávat, že až opadne počáteční hype, cena ještě klesne a bude docházet k velkým fluktuacím.

    Pokud věříte technologii Etherea a nezpanikaříte, až uvidíte jak kolísá, doporučuji nakoupit a trochu si přivydělat prodejem ve správnou chvíli.

    Osobně už mám nějaké ty ethery nakoupené, teď ještě počkám až klesne cena zpět k / pod jeden dolar a nakoupím ještě za takových 5 tisíc kč. Až přijde na řadu Homestead verze s grafickými nástroji, dá se očekávat, že cena zase raketově poletí nahoru, jak se do hry budou snažit dostat uživatelé, kteří Ethereum dosud ignorovali.

    Informační zdroje

    Pokud chcete být naprosto na špičce všech událostí kolem Etherea, doporučuji jednoznačně reddit kanál /r/ethereum (RSS). Zde se objevují veškeré novinky, články, návody a drby, které si jen můžete přát. Nevýhodou je trochu větší datový tok, který činní momentálně zhruba 150 nových témat denně.

    Kdyby se vám nechtělo číst tak silné datové toky, je zde fórum: https://forum.ethereum.org/ a naprostou nutností je pak oficiální blog, kde se objevují všechna důležitá oznámení: https://blog.ethereum.org/ (RSS).

    Pro ty kdo chtějí více uživatelských a praktických informací zde mám dvě vznikající e-knihy, jenž vás obeznámí z koncepty, ale i s konkrétními programy a jazyky, které je možné použít k psaní kontraktů:

    Prakticky zaměřeným uživatelům se určitě bude líbit přehled všech transakcí, s možností zkoumat kdo má co na účtě a co kde běží za kontrakty:

    Vizuálně zaměřeným pak zase statistiky sítě a přehledy právě vytěžených bloků:



    Poznámky

    [1] Viz:

    Many of the planned Frontier gotchas (which included a chain reset at Homestead, limiting mining rewards to 10%, and centralized checkpointing) were deemed unnecessary.

    Frontier is coming – what to expect, and how to prepare

    [2] https://www.reddit.com/r/ethereum/comments/3d53f9/stephan_tuals_explanation_of_the_mining_rewards/ct1z7qg. Ursium je jeden z core developerů.

    [3] Objevil se nový pool: http://www.pooleum.com/

    Shameless self-bump

    Tento článek mě podle mého timetrackeru stál přibližně jedenáct hodin čistého času. Nejenom to; jedná se dokonce o již druhý článek na téma Ethereum, který mě stál desítky hodin času strávených výzkumy a psaním. Aby toho nebylo málo, sdělil jsem vám v ucelené a čitelné formě spoustu knowhow, které jinak stojí desítky a stovky hodin získávání, čtení, studování a zkoušení. V případě prvního článku dokonce s ročním předstihem. Nyní jste na podobné úrovni jako já - můžete Ethereum začít používat, těžit, nakupovat, prodávat, spekulovat a programovat.

    Proč to dělám?

    Přemýšlel jsem nad tím a odpověď je „protože můžu“. Nenašel jsem žádný důvod a tak to dělám bezdůvodně.

    Pokud si to můžete dovolit a chcete, vpravo nahoře jsou adresy mnou přijímaných kryptoměn, kam mi můžete poslat nějaké drobné, či na ně nastavit miner a věnovat mi trochu vašeho výpočetního výkonu.

    Nepotřebuji to fyzicky; momentálně jsem zabezpečený, ale potěší mě to psychicky. Ukazuje mi to, že máte o mé články zájem a že se líbily. V neposlední řadě mi to také dává prostředky, které investuji do dalších nových kryptoměn, projektů a různých sofistikovaných kryptoanarchistických technologií, o které se pak zajímám a o kterých píšu články. Výhodné je to tedy oboustranně.

           

    Hodnocení: 85 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Jendа avatar 16.8.2015 16:45 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Hustý, ale pořád mi to přijde uchopitelné. To takový Tau-Chain je ještě o level dál, tam vůbec netuším o čem to je :-)
    Bystroushaak avatar 16.8.2015 16:54 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Ochutnávka budoucnosti :)
    Bystroushaak avatar 18.8.2015 13:27 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    16.8.2015 17:44 H4ck3r
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Proste jednym slovom: botnet
    16.8.2015 19:33 matkaroku
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    To jsi to těm imperialistům teda nandal, Obama kvůli tobě zase brečí.
    16.8.2015 19:37 hypvofxy | skóre: 5 | blog: hypvofxy | Brno
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Diky za paradni clanek!
    Bedňa avatar 17.8.2015 08:35 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Pripájam sa, dávam 10 z 10.
    KERNEL ULTRAS video channel >>>
    Jendа avatar 17.8.2015 09:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Tak mu pošlete nějaké shitcoiny :). Já kvůli tomu dokonce znova rozchodil Electrum.
    Bedňa avatar 17.8.2015 23:42 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Len tento web žiadne tlačítko "Podpor autora" nemá, inak tam tie shitcoiny idú :)

    Rozchodiť Ethereum mining, je ale celkom fuška, mám pocit, že to priebežne rozbíjajú. Po niekoľkých chybových hláškach tam mám zas inú chybovú hlášku, ale už nejaké vidím hashe aspoň medzi chybovými hláškami, tak sa hádam niečo deje. No a ukazuje to cez 70000 H/s, oplatí sa vôbec niečo riešiť s tak slabým HW? Grafika je silna 448bit zbernica (NV 275GTX), len zas má málo RAM, necelý GB a ono to chce aspoň 1.5GB inak mám utrum.
    KERNEL ULTRAS video channel >>>
    Grunt avatar 16.8.2015 20:34 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Jediná otázka: Má to papírové peněženky?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Bystroushaak avatar 16.8.2015 21:07 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Zde vidím velký prostor pro uplatnění se :)
    16.8.2015 21:17 H4ck3r
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    *coin uz nevytahuje tak rychlo peniaze z penazeniek tak tu mame ether... vzduch - nic. A priestor pre uplne nove transakcie, zmenaren penazi za virtualne cisla, spekulacie a zbohatnutie (pre tych hlavne co to vymysleli)...
    Bystroushaak avatar 16.8.2015 21:37 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Jo. No a?
    16.8.2015 23:26 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Presne tak. Temto virtualnim menam se sice nevenuji, ale libi se mi jejich volna soutez, kterou pomalu zacinam postradat diky unifikaci u realnych men. Kdyz se nejaka mena lidem nelibi, zdechne casem jako mtrainuv pes, kteremu se nedostava zdravotni pece kvuli prerozdelovani a mtrainove fixaci na socialismus. Skoda, ze si takto nemohou konkurovat i meny v realnem svete. Skoda, ze ma stat monopol na emisi penez.
    17.8.2015 11:26 M_train
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Ale no tak, sudeťáku, začínáš ztrácet glanc. Neumíš odpovědět na základní otázky, z.B. kde existuje tvůj ideální stát, o kterém tak básníš, nebo co konkrétně mimo zdejšího trollingu dělás pro prosazení svých šílených nápadů?

    Diskutující na ábíčku nemohou za to, že ti někdo obdělává paničku, a ty nevíš, zdali tvýma rodičema dohodnutá modrá krev posloužila výrobě dalšího potomka, nebo jenom levobočka bez rodokmenu, a tobě stejně jako Krejčířovi zbydou jenom ohavná uslintaná psiska.
    If you don't ask, you don't get
    Bystroushaak avatar 17.8.2015 11:31 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Pod mým blogem prosím ne, nechte si tu retardaci někam jinam.
    17.8.2015 11:43 M_train
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Sorry ušáku, ten magor Odin mne tady zcela bezdůvodně a bez souvislosti napadnul. Tak se logicky tomu úchylnému narcisovi bráním.....
    If you don't ask, you don't get
    17.8.2015 11:38 Miriam | skóre: 3 | blog: zivot
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Prosím, založ o tom vlastní blog. Ušáček miláček je můj oblíbený linuxář, co píše o zajímavých tématech, vlastně jediný.
    23.8.2015 14:32 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    z.B. kde existuje tvůj ideální stát, o kterém tak básníš
    To jsem ti uz vysvetlil. O zadnem statu nebasnim. Ja ziji v cechach a nehodlam se stehovat, takze chci menit pomery zde. Mam tuto zemi rad a socialismus mne z ni nevyzene!
    levobočka
    Uz jsem psal, ze jsem si to overil. O levobocka se nejedna. Ale to ty vis, protoze pokud bych to zde nenapsal, nemel bys na co nasazovat. Na tom, ze si overim, komu budu platit zivot spoustu dalsich let a na koho se budu citove vazat, nevidim nic spatneho. Je to spousta penez a cizi clovek na ne nema narok!
    zbydou jenom ohavná uslintaná psiska
    Proc ne? Mam je rozhodne vice rad nez tebe, ale o tom jsme se uz bavili. ;-)
    Grunt avatar 17.8.2015 12:52 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    V jednom má Jílek pravdu. Hodnoty měn jsou skutečně uměle udržovány (aspoň v určitých mezích) na určitých hladinách v zájmu zachování mezinárodního obchodu (čti pro zachování fungování mezinárodního kapitalismu). Měny by jinak měly tendenci se vyrovnávat a to se neděje. A právě tohle docela nezávislé a nekontrolovatelné krypto-měny nabourávají. Což je jenom dobře. Jsem zvědav kdy se dostanou (a je jedno jestli BitCoin nebo Ethereum nebo cokoliv dalšího co přijde) do takového stádia důležitosti, že se je jednotlivé státy pokusí kontrolovat, případně postavit mimo zákon.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    17.8.2015 18:53 mll
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Že je Jílek miriam, to je jasný, ale že by byl i odin, to se mi nezdá. Odin umí trollovat přece jen na lepší úrovni.
    23.8.2015 14:27 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    V jednom má Jílek pravdu.
    Netusim, zda ma pan Jilek pravdu a zda zde vystupuje jako Miriam. Ale ja rozhodne nejsem pan Jilek. Jestli jsi mne tim chtel urazit, nepovedlo se. Pana Jilka vnimam celkem pozitivne kvuli jeho nahledu na svet, nekterym nazorum a zdravemu selskemu rozumu. ;-)
    17.8.2015 10:02 peter
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Zdravim,

    vdaka za clanok, velmi pekne a informativne zhrnutie.

    Podarilo sa niekomu rozchodit minera s AMD kartou (v mojom pripade AMD Radeon 8750M )? Po instalacii AMD SDK stale hlasil chybu "No GPU device..." a po kompilacii minera chyba sice nebola, ale X isli dolu. Neviete prosim niekto, ktora z uvedenych burz podporuje aj PayPal? vdaka.

    peter
    Bystroushaak avatar 17.8.2015 10:26 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Mám takový mlhavý pocit, že https://poloniex.com/ by měl brát paypal, ale chce to docela tvrdé ověření, kde se možná nevyhneš posílání oscannované občanky. Ale je to jen pocit, když jsem googlil, tak jsem nenašel potvrzení, že berou paypal.
    17.8.2015 11:57 peter
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    diky
    17.8.2015 10:41 hacup | skóre: 8
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Dík za zajímavý článek. Asi do etheru taky pár stovek dám, další bitcoin bych psychicky neunes.
    18.8.2015 02:29 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Hmm zajímavý, šel by na tom bajtkódu pustit kernel? :-D

    Předpokládám, že vůči FPGA/ASICu je Ethereal (po vytlačení CPU ASICama na bitcoinu) imunní, že?
    18.8.2015 08:42 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Ten bytecode údajně patří to množiny totálně funkcionálních jazyků, takže není turingovsky úplný, takže ne. Ostatně by mě zajímalo, jak řeší, že ten kód je někde připraven k opakovanému spuštění. Protože tohle je potenciálně nekonečná smyčka, takže nemůže být implementovaná v TFL. A nebo je to takový cimrmanovský úkrok stranou, kdy ne všechno, co je součástí Etherea je implementované v TFL a „zpoplatněné“ zápisem do blockchainu.
    Bystroushaak avatar 18.8.2015 11:59 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Ten bytecode údajně patří to množiny totálně funkcionálních jazyků, takže není turingovsky úplný, takže ne.
    Odkud pochází tahle informace?
    A nebo je to takový cimrmanovský úkrok stranou, kdy ne všechno, co je součástí Etherea je implementované v TFL a „zpoplatněné“ zápisem do blockchainu.
    Každá provedená instrukce toho kódu je zpoplatněná (platí se minerům za to že kód provádějí). Aby tam mohla vzniknout nekonečná smyčka, musel by mít kontrakt na účtě nekonečno, jinak prostě za chvíli přijde o všechny ethery a je zastaven.
    mirec avatar 18.8.2015 12:35 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Ethereum prakticky

    Totálne funkcionálne jazyky garantujú konečnosť. Turingov stroj nemá toto obmedzenie a nie je možné určiť či je algoritmus konečný alebo nie.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Bystroushaak avatar 18.8.2015 13:15 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Každý jazyk je omezený vnějšími podmínkami, například velikostí paměti, dobou jak dlouho ho majitel nechá běžet. Kdybych k tomu měl přistupovat takhle, tak turingovsky kompletní není žádný jazyk.
    18.8.2015 13:36 Adam
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Ale ved neukoncitelny loop sa dal urobit uz v 60tych rokoch minuleho storocia pri pak KB RAM ;-)
    mirec avatar 18.8.2015 14:01 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    turingovsky kompletní není žádný jazyk

    Turingov stroj je teoretická konštrukcia s neobmedzenými prostriedkami. Ak hovoríme, že nejaký jazyk je turingovsky kompletný znamená to, že musí mať určité matematické vlastnosti. Reálne žiaden skutočný turingov stroj s nekonečnou páskou a nekonečným časom behu nemáme.

    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    18.8.2015 14:08 Miriam | skóre: 3 | blog: zivot
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Já ho mám a občas ho půjčuju bystroušáčkovi.
    Bystroushaak avatar 18.8.2015 14:15 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Turingov stroj je teoretická konštrukcia s neobmedzenými prostriedkami. Ak hovoríme, že nejaký jazyk je turingovsky kompletný znamená to, že musí mať určité matematické vlastnosti. Reálne žiaden skutočný turingov stroj s nekonečnou páskou a nekonečným časom behu nemáme.
    To chápu. Byla to reakce na předřečníka, který tvrdil, že Ethereum není turingovsky kompletní, ale nakonec psal, že si spletl Ethereum a Tau-chain.
    18.8.2015 13:40 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Bystroushaak avatar 18.8.2015 13:44 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    To pak jo. Taky o tom teď čtu a snažím se to pochopit. Nahoře jsem linkoval další článek o tau-chainu.
    Bystroushaak avatar 18.8.2015 11:54 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Předpokládám, že vůči FPGA/ASICu je Ethereal (po vytlačení CPU ASICama na bitcoinu) imunní, že?
    Jo. Naschvál to navrhli tak, aby to chtělo asi 2G paměti.
    18.8.2015 20:37 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    To je dost málo, nový FPGA mají normálně DDRx řadiče (kvůli ARM jádrům).
    Bystroushaak avatar 18.8.2015 21:57 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    No, to zas tak malo není, když se nad tím tak zamyslíš, protože je to jen pro jedno výpočetní jádro. Pokud bys chtěl stavět nějaký mining rig, tak se ti asi prostě víc vyplatí nakoupit grafiky.
    Bedňa avatar 18.8.2015 22:12 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Mňa zas štve opak, že na grafike na ktorej spočítam 10x viac ako na nových shit propagovaných novinkách to ani nespustím, práve vďaka RAM, myslím GPU minimg :-)
    KERNEL ULTRAS video channel >>>
    18.8.2015 22:19 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Jo pro každý jádro by to mohl být problém.

    [laik] Není nebezpečí, že někdo ten požadavek na 2GB obejde? [/laik]
    Bystroushaak avatar 18.8.2015 23:23 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Tak ono to asi nejde .. obejít. Prostě dostaneš nějaká data, na základě kterých vygeneruješ velký blok dat a ten pak nějak hashuješ. Viz Ethash.
    19.8.2015 01:28 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Já jenom zda by to nešlo třeba hashovat během generování.

    To mě ale jinak přijde jako dost velký plýtvání výpočetním výkonem (pokud se musí furt číst 2GB data - to nemám volný ani na main PC) :-/.
    Bystroushaak avatar 19.8.2015 01:57 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Já jenom zda by to nešlo třeba hashovat během generování.
    To mě taky napadlo, ale podle všeho prvně musíš 6000x hashnout ten GB soubor někde v paměti.
    To mě ale jinak přijde jako dost velký plýtvání výpočetním výkonem (pokud se musí furt číst 2GB data - to nemám volný ani na main PC) :-/.
    To je naschvál, na tom stojí celý Proof of work algoritmus. Síť hlasuje o transakcích proporcionálně k výkonu, který máš. Čím větší výkon, tím větší právo. No a aby se to nedalo falšovat (jeden počítač ze sebe nedělal 10), musí to žrát co nejvíc výkonu (a paměti v tomhle případě).

    Jinak časem se má přejít na Proof of stake, kde lidi hlasují proporcionálně k tomu, kolik Etherů vlastní (je to kapku složitější, ještě tam hrajou nějakou roli toky peněz a tak). To je taky docela haluz, ale má to tu výhodu, že aby někdo mohl udělat 51% útok, tak by musel koupit 51% všech Etherů :)

    Docela doporučuji si proklikat ten odkaz na Ethash co jsem posílal, je to fakt zajímavé.
    Bedňa avatar 18.8.2015 22:27 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    275GTX je výborná na výpočty vďaka veľkému počtu výpočtových jadier a 448 zbernici, len na tomto miningu sa vďaka 1GB RAM nespustí. Zato to niekto spustí na shitovej karte za pár drobných, je to fér?

    V tomto by som proste slabosť nehľadal a viac menej som konsternovaný ako ma odstavili.
    KERNEL ULTRAS video channel >>>
    Bystroushaak avatar 18.8.2015 23:29 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Well. Když se podíváš na ten Etherhash, asi by bylo možné používat normální RAM pro ty data, do grafiky bys pak cpal jen ty náhodně vybrané kusy. Jinak já taky těžím na CPU, protože nemám náladu se to snažit rozjet na grafice, když to shazuje Xka.
    19.8.2015 01:32 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Aha ale to by šlo i na FPGA PCIe kartě (BTW DDR2/3 modul je vůči ceně FPGA s PCIe zanedbatelný).
    Bystroushaak avatar 19.8.2015 01:52 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Šlo, ale nějak se mi nezdá, že by to mělo větší výkon.
    Bystroushaak avatar 19.8.2015 12:06 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Jinak lehce unrelated - dneska ráno proběhl flash crash bitcoinu. Kdyby jste někdo uvažovali o nákupu (bitcoinu, ne etherea), tak teď je správná doba ;)
    19.8.2015 20:54 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    To jsem spíš slyšel o nějakým rozdělení blockchainu (jinej protokol).
    Bystroushaak avatar 19.8.2015 21:44 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    No, to je jedno co přesně. V grafech je to prostě strmý pád.
    19.8.2015 22:59
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    skrytý komentář Náš administrátor shledal tento komentář závadným.

    Vulgarity.

    Zobrazit komentář
    Bystroushaak avatar 20.8.2015 14:47 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Ethereum prakticky
    Tak jsem hodil nějaké ty základy na wikipedii: Ethereum. Kdyby se toho chtěl někdo chytit a dotáhnout to trochu dál, asi by to nebylo od věci.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.