1. Лични FinanceTop 10 Използва Ethereum
Ethereum за манекени

От Майкъл Соломон

Blockchain технологията като цяло, и Ethereum в частност, бързо нараства популярността си. Все по-голям брой организации привличат Ethereum за нови проекти. Разнообразието от проекти, които използват Ethereum като своя основа, е почти неограничено.

Бърз преглед на състоянието на уебсайта dApps показва колко проекти на Ethereum съществуват в различни категории и колко популярни са те. Разгледайте голям брой популярни dApps. Този ресурс е чудесен начин да се поддържате актуални за тенденциозните dApps.

Въпреки че тези проекти на Ethereum са само малка представителна извадка от онова, което е там, те ще ви дадат известна експозиция на това, което другите правят с Ethereum. Може би ще намерите някои идеи за нови и вълнуващи начини, по които Ethereum може да ви помогне да трансформирате вашата организация.

Въпреки разнообразието от функционалности във всеки проект, всички те са изградени на Ethereum. Всеки проект използва интелигентни договори, работещи на EVM, за да изпълнява функционалност и блокчейн Ethereum за съхранение на данни за състоянието.

Gnosis предсказва бъдещи събития с Ethereum

Gnosis е една от многото иновативни компании, които използват Ethereum по интересни начини. Gnosis предоставя платформа за пазари за прогнозиране. Продуктът Gnosis Olympia е алфа версия на тяхната платформа. Използвайки Olympia, участниците получават първоначален баланс на OLY жетони, претендират се за пари, които могат да използват в Olympia, които те използват за прогнозиране на различни теми. Участниците могат да спечелят GNO жетони за извършване на успешни прогнози.

Участниците, които поставят прогнози, свързват прогнозата с оракул, за да потвърдят резултата. Например, истинската стойност на конкретна цена на акциите към определена дата и час лесно се валидира, като се сравнява прогнозата с публикуваните цени на акциите. Източникът на данни за цените на акциите ще бъде оракулът, който прогнозата за цените на акциите използва за валидиране.

Gnosis Olympia предоставя платформата на участниците да определят вероятността за някакъв резултат. Можете да използвате Olympia, за да определите очакваната стойност на някакъв стойностен предмет. Познаването на стойността на даден артикул ви дава повече възможности за преговори.

Друг възможен случай е с избори. Разпределените пазари за прогнозиране могат да се появят, за да осигурят по-добри прогнози за предстоящите избори. Политическото проучване е подложено на критика поради липса на точност и нововъзникващите продукти биха могли да помогнат за повишаване на тяхната точност.

Прогнози за събития от множество източници на Авгур

Augur е друго предложение в категорията на пазара на прогнози. Подобно на Gnosis, участниците могат да записват събития и след това да дадат прогноза за резултата от събитието. Авгур награждава участниците с токени REP в замяна за предоставяне на точни данни, свързани със събитието и за гласуване с мнозинството.

Авгур се основава на пренасочени данни и става по-точен с включването на данните на участниците. Ето защо изпращането на точни данни води до награда. Един оракул потвърждава данните за събитията и резултатите, но акцентът е все още върху привличането на ресурси.

Augur е напълно децентрализиран и зависи от интелигентните договори и блокчейн Ethereum за работа. Целта му е да предостави глобален портал, който генерира по-добри прогнози за резултата от всяко бъдещо събитие, което се радва на широк глобален интерес.

Арагон управлява децентрализираните организации с Ethereum

Aragon е платформа, посветена на подпомагането на управлението на децентрализирани организации, които често страдат от липса на инфраструктура и функционалност. Участниците в Арагон купуват Aragon Network Tokens (ANT) от една от няколкото популярни борси за криптовалути и използват ANT, за да плащат за услуги в Aragon.

Арагон улеснява разпределеното управление на автономната организация, набирането на средства и счетоводството. Например, участниците в Арагон могат да поставят въпроси към организацията си за гласуване. Средата в Арагон обработва всички подробности за управление на процеса на гласуване, което води до проверени резултати от изборите. Гласуването е само една от характеристиките на платформата.

Проектът в Арагон има за цел да даде възможност на децентрализираните участници в организацията чрез насърчаване на участието и осигуряване на финансова прозрачност. Арагон дава възможност на организациите да съществуват извън традиционния йерархичен, централизиран модел.

Развъждайте и събирайте криптокити в Ethereum

Ethereum не е само за криптовалута и бизнес функция. Можете да намерите забавни игри и в пространството на Ethereum. Cryptokitties, една от първите игри, базирани на Ethereum, все още е популярна. Тази революционна игра въведе криптовалути на базата на блокчейн. Това е вярно. Криптовалутите са колекционерски.

Всяка криптокита е уникална. Технически всеки криптокит е ERC-721 маркер и има уникален набор от катрибути (криптокитни ДНК), които идват от родителите на всеки криптотокти. Точно така, не създавате криптовалути; отглеждате ги.

И точно както в реалния живот (добре, вид), можете или да се доверите на генетичен късмет, за да създадете рядка и ценна криптокита, или можете да платите такса за свързване на друга криптокита за способността да се размножавате, използвайки техните криптотоки. Всяка криптокита има различна стойност въз основа на рядкостта на нейните катрибути. В миналото някои криптовалути с редки катрибути (и благоприятен валутен курс на ETH) се продават за над 100 000 долара.

Изображението по-долу показва уебсайта Cryptokitties с примери за няколко криптотоки, всяка със собствени уникални катрибути.

възпроизвеждане на криптокити с Ethereum

Обменяйте маркери с IDEX

Хиляди ERC-20 маркери се използват. Преди да можете да използвате жетон, за да платите за нещо, трябва да го придобиете. Някои символи са безплатни, но други трябва да бъдат закупени. За да закупите жетон, трябва да обмените валута или криптовалута, така че се нуждаете от организация, която предоставя услуги за обмен.

IDEX е децентрализирана борса (DEX), която е специализирана в търговията между ETH и ERC-20 маркери. Той потвърждава транзакции в своя интелигентен договор, без да чака изчакване на блока Ethereum. Възможността на IDEX да потвърждава транзакции в реално време позволява на търговците да търгуват непрекъснато.

Поръчките се записват на блокчейн Ethereum в реда, в който са получени, но търговците не трябва да чакат маркерите си. Те ги получават веднага след като поръчката им бъде одобрена от смарт договора.

Това изображение показва уебсайта на IDEX със списък на най-активните маркери Ethereum ERC-20.

Ethereum IDEX

Използвайте Ethereum, за да създадете вашата цифрова идентичност с uPort

UPort dApp е иновативна инициатива с проста цел: да предостави децентрализирана идентичност за всички, съхранявана в блокчейн Ethereum. Потребителите регистрират своята самоличност чрез uPort. Веднъж удостоверени, потребителите могат да използват цифровата идентичност uPort за подписване на цифрови договори и взаимодействие с други услуги, които изискват валидирани идентичности.

UPort dApp има множество потенциални приложения. Една от най-видимите нужди, която uPort би могла да помогне за адресиране, е предоставянето на хора, които са загубили физически идентификационни елементи, все още да предоставят доказателства за самоличност, когато това се налага. Оцелелите след катастрофални събития често нямат идентификация с тях. Достъпът до неизменна цифрова идентификация може да помогне за облекчаване на този проблем. Цифровите идентичности могат да помогнат при имиграцията, гласуването и други случаи, когато се изисква идентификация.

Споделете мислите си за blockchain с EtherTweet

Както подсказва името му, EtherTweet е блокчейн алтернатива на Twitter. Основната разлика е, че EtherTweet е без цензура, защото всички съобщения се съхраняват в блокчейн Ethereum. Можете да публикувате до 160 знака.

Въпреки че цените се променят въз основа на текущата стойност на етер, създаването на EtherTweet сметка струва около 2 цента, а всеки туит струва около една трета от цент. Следното изображение показва уебсайта EtherTweet с инструкции за използването на техния уеб интерфейс за публикуване и четене на туитове.

EtherTweet

Използвайте Ethereum за търсене на работа с EthLance

EthLance е разпространена платформа за свободна практика и работодатели да се намерят, да се заемат с работа и да прехвърлят плащания в етер. EthLance е част от мрежата на област0x, която е съвкупност от децентрализирани пазари и общности. Една от отличителните характеристики на EthLance е, че не събира никакви такси.

Членството в EthLance е безплатно и двамата на свободна практика и работодателите могат да използват мрежата, за да сравнят персонала с открити работни места. След като работата приключи, работодателите могат да плащат на свободна практика директно с помощта на етер. Цялата платформа EthLance работи в Ethereum. Прозрачният характер на EthLance и неговият модел с нулеви такси го правят чудесен ресурс за самостоятелно заети лица.

Изображението по-долу показва уебсайта на EthLance с графиката им „как работи“, показваща как свободните работници и работодателите могат да използват услугите. За да научите повече за EthLance, отворете уебсайта им на адрес.

EthLance

Използване на TenX за плащане с етер и други криптовалути

TenX позволява на клиентите да използват етер и други криптовалути в търговците на дребно, за да плащат за покупки по целия свят. Въпреки че повечето търговци на дребно все още не поддържат пряко криптовалути, TenX създаде своя собствена линия от крипто дебитни карти и кредитни карти, които се свързват с нейния собствен крипто портфейл. Картата TenX осигурява моста между криптовалутите и традиционните разплащателни средства.

TenX записва всички платежни транзакции в blockchain и има планове за по-голяма мрежа, която ще позволи на приложенията да комуникират в множество блокчейн.

Изображението по-долу показва уебсайта на TenX с изображение на тяхната TenX дебитна карта.

Дебитна карта TenX

Използвайте Ethereum, за да купувате и продавате изчислителна мощност с Golem

Последният иновативен проект на Ethereum е Golem. Golem е децентрализиран пазар за покупка и продажба на изчислителна мощност. Независимо дали имате излишна изчислителна мощност, която искате да продадете, или трябва временно да наемете повече изчислителни мощности, за да завършите проект, Golem може да помогне. Можете да използвате суперкомпютри Golem, след като плащате в родния GNT токен, или можете да спечелите GNT за това, че оставяте на другите да използват вашата излишна компютърна мощност.

Уеб сайт на Golem

Както е видно по-горе, Ethereum може да бъде използван за всякакви творчески проекти. Как вашата организация ще използва Ethereum?

  1. Интелигентни договори за лични финансиEthereum: Съвети за работа с данни в солидност
Ethereum за манекени

От Майкъл Соломон

Солидността е най-популярният език за писане на интелигентни договори на Ethereum. Солидността беше предложена от Gavin Wood през август 2014 г. Въпреки че това не е единственият език, който можете да използвате за писане на интелигентни договори, той е най-популярният език за писане на интелигентни договори, които се изпълняват в Ethereum. Той се радва на солидна подкрепа от Ethereum общността и е разработен от екипа на проекта Ethereum Solidity.

Solidity е проектиран да бъде подобен на JavaScript и е повлиян от няколко други популярни езика за програмиране, включително C ++ и Python. Целта на Solidity е да предостави език, познат на разработчиците на уеб приложения, но насочен към разработване на интелигентни договори. Solidity не е предназначен не за език с общо предназначение, а за поддържане на специфични блокчейн операции с код, който се изпълнява в EVM.

Преди вашият код да може да работи в EVM, трябва да го компилирате. Ето защо един от компонентите, които сте инсталирали при изграждането на вашата среда за разработка, е компилатор на Solidity. Първо пишете изходния си код на Solidity в редактор. След това го компилирате в байт код, които са инструкциите, които се изпълняват в EVM. След като внедрите интелигентния си байт код, той работи на всички възли на Ethereum.

Тъй като интелигентните договори работят на всички възли, Solidity трябва да наложи детерминизъм, тоест резултатите трябва да са еднакви за всички възли, които изпълняват вашия смарт код на код с един и същи вход. Ако погледнете документацията за Solidity, няма да намерите произволна () функция. Този пропуск е специално в подкрепа на детерминизма на Солидността. Кодът ви се стартира първо от възела, който минимира нов блок, но след това всички възли проверяват блока и изпълняват кода, за да гарантират, че те не получават различен резултат.

В много отношения Solidity е подобен на другите езици за програмиране. Най-големите разлики са в начина на изпълнение на програмите и как Solidity се справя с данните. Обърнете внимание, че Solidity работи с данни само в EVM или блокчейна.

Твърдостта не взаимодейства много с външния свят, но е възможно. Солидността подкрепя концепцията за оракул, който е надежден източник на информация от външния свят.

Обаждането на оракул е лесно. Един проблем е възможността да се доверите на оракула. Друг проблем е справянето с данни на oracle, които могат да връщат различни данни всеки път, когато бъдат извикани. Преди да използвате каквито и да било оракули, трябва да сте сигурни, че източникът на данни е надежден и последователен. Обичайно е оракулите да връщат данни и някакво доказателство за автентичност.

Концепцията за доверие по отношение на оракулите е просто разширение на доверието в блокчейн. Не забравяйте, че технологията на blockchain предоставя надеждна книга на данни в среда на надеждни мрежови възли. Тъй като доверието е такова основополагащо свойство на blockchain, не е изненадващо, че доверието в оракул е важна грижа.

Солидността е конкретна за това къде можете да съхранявате данни. Като цяло дефинирате два типа променливи в Solidity: променливи състояния и локални променливи. Вие дефинирате променливи състояния в секцията на договора и тези променливи са достъпни навсякъде в интелигентния договор. Тези променливи съхраняват състоянието на вашия интелигентен договор, като запазват стойностите в блок на blockchain. Дефинирате локални променливи вътре във функциите. Локалните променливи не запазват стойностите си между извиквания на функции. Тези стойности не се съхраняват в блокчейна и отминават, когато функцията приключи.

Твърдостта определя три места за съхранение на данни:

  • Стек: където Solidity съхранява локални прости променливи стойности, дефинирани във функциите. Памет: Област памет на всеки EVM, която Solidity използва за съхраняване на временни стойности. Стойностите, съхранявани тук, се изтриват между извикванията на функции. Съхранение: Там, където се намират променливи на състоянието, дефинирани в интелигентен договор. Тези променливи състояния се намират в секцията с данни за интелигентни договори на блокчейна.

Променливото място за съхранение е един от по-объркващите аспекти на Solidity. Езикът на Solidity няма ключова дума за стека, но има ключови думи за памет и съхранение. Solidity използва свои собствени настройки по подразбиране, в зависимост от това къде определяте променливи и как ги използвате, но можете да отмените някои от тези настройки по подразбиране и също така да използвате ключовите думи, за да промените как Solidity третира променливите.

Ето няколко правила, които помагат да се изяснят нещата, когато се научите за съхраняване на данни в Solidity:

  • Променливите на състоянието са съхранение по подразбиране (стойностите се съхраняват в blockchain). Локалните променливи във функциите са памет по подразбиране (стойностите се съхраняват временно в паметта). Структурите се съхраняват по подразбиране (стойностите се съхраняват в blockchain).

Solidity може да обработва различни видове данни и предоставя различни видове променливи за обработка на всеки тип. Когато дефинирате променливи, трябва да посочите типа данни на променливата. Типът данни казва на Solidity колко място да отделите за стойността, която ще съхранявате в променливата и как да обработвате данните. Следващата таблица изброява типовете данни, които Solidity поддържа.

Тъй като вашите интелигентни договори стават по-сложни, вероятно ще трябва да представяте по-сложни типове данни. Например, може да искате да определите тип физически адрес, който съдържа няколко части информация, включително адрес на улица, град, щат и пощенски код.

Може също да се наложи да съхранявате таблици или списъци с данни. Солидността ви позволява да създавате собствени структури от данни с комплексния тип данни. Можете също така да определите масиви, които съхраняват групи от подобни елементи от данни. Масивите на солидността могат да бъдат групи от прости типове данни или групи структури.

Ето един интелигентен договор, който демонстрира някои от простите типове данни на Solidity. В този пример използвате само променливи на състоянието, което означава, че пишете в blockchain. Определянето на всички ваши променливи като променливи състояния не е добра идея, освен ако не искате да съхранявате данни завинаги. Данните, съхранявани в blockchain, изискват скъпи операции и не трябва да се използват, освен ако не трябва постоянно да съхранявате данните си. Засега ще използвате променливи на състоянието.

Отворете VS код за проекта myProject:

За да отворите VS код в проекта myProject, отворете командния ред на Windows или PowerShell (моят фаворит) и използвайте командата cd, за да отидете в директорията на вашия проект (myProject.) От тук просто въведете следната команда и натиснете Enter:

код.

След това въведете следния код или изтеглете файловете на проекта Ethereum от Dummies.

плътност на прагмата 0.4.24;
/ *
* @ типове данни за солидност
* @author Майкъл Соломон
* @notice Просто интелигентен договор за демонстриране на прости типове данни, налични в Solidity
*
* /
DataTypes на договора {
uint x = 9;
int i = -68;
uint8 j = 17;
bool isEthereumCool = true;
собственик на адреса = msg.sender; // Ефириум адрес на подателя на съобщението
bytes32 bMsg = "здравей";
string sMsg = "здравей";
функция getStateVariables () публичен изглед връща (uint, int, uint8, bool, адрес, байтове32, низ) {
връщане (x, i, j, isEthereumCool, owner, bMsg, sMsg);
}
} <

Преди да можете да разгърнете и тествате новия си смарт договор, трябва да го добавите към скрипта за миграция на JavaScript. Във VS Code отворете файла 2_contracts_migrations.js в директорията Migrations. След това добавете двата реда с коментари, така че файлът ви да изглежда така:

var HelloWorld = artifacts.require ("HelloWorld");
var DataTypes = artifacts.require ("DataTypes"); // Добавяне на този ред
module.exports = функция (дистрибутор) {
deployer.deploy (HelloWorld);
implemener.deploy (DataTypes); // Добавяне на този ред
};

Не забравяйте да запазите файла си, след като добавите новия текст!

Ето стъпките, които можете да използвате, за да разгърнете и тествате новия си интелигентен договор:

  1. Уверете се, че имате Ganache работи. Във VS код щракнете или докоснете раздела Терминал, въведете следното и натиснете Enter: разгръщане на трюфели - нулиране Въведете конзола за трюфели и натиснете Enter. В прозореца на конзолата на Truffle въведете следното и натиснете Enter: DataTypes.deployed (). След това (функция (екземпляр) {return instance.getStateVariables ()});

Следващото изображение показва стойностите, които вашият нов интелигентен договор връща. Трюфелът показва възвръщаемите стойности по интересен начин. Числата се връщат като обекти на BigNumber. Можете да извиквате функции в библиотеката на BigNumber, за да ги преобразувате, но засега просто четете стойностите директно.

За числово върнатите стойности първата стойност, s: е знакът на числото, а третата стойност, c: е неподписаната стойност, която функцията връща. Също така имайте предвид, че стойностите на адреса и байтовете32 са в шестнадесетичен формат.

Интелигентен договор на Ethereum
  1. Синтаксис на интелигентен договор за лични FinanceBasic Ethereum
Ethereum за манекени

От Майкъл Соломон

Ако планирате да направите каквато и да е разработка на Ethereum, вероятно ще използвате Solidity, един от най-популярните езици за програмиране за интелигентни договори. Нека да разгледаме някои основни синтаксиса на Solidity Когато пишете изходен код на Solidity, вие запазвате този код във файл с разширението .sol.

Код на договора Ethereum

Програмата за солидност има няколко основни раздела, както следва:

  • Прагма: Това казва на Solidity кои версии на компилатора са валидни за компилиране на този файл. Коментари: Разработчиците трябва да използват коментари за документиране на код. Импорт: Вносът определя външен файл, който съдържа код, от който се нуждае вашият интелигентен договор. Договор (и): Този раздел е мястото, където се намира тялото на вашия смарт код.

Деклариране на валидна версия на компилатор в интелигентни договори на Ethereum

Директивата за прагмата трябва да бъде първият ред код във файл Solidity. Тъй като езикът Solidity все още съзрява, обикновено при новите версии на компилатора се включват промени, които не биха могли да компилират по-стари програми. Директивата за прагма помага да се избегнат сривовете на компилатора поради използване на по-нов компилатор.

Ето синтаксиса на директивата за прагмата:

pragma Solidity << номер на версията >>;

Ето примерна прагма директива:

прагма Твърдост ^ 0.4.24;

Всички изявления в Solidity завършват с точка и запетая.

Номерът на версията започва с 0, последван от основен номер на сглобяване и малък номер на сглобяване. Например, номерът на версията 0.4.24 се отнася до главната компилация 4 и малката компилация 24. Символът на каретата (^) преди номера на версията казва на Solidity, че може да използва последната компилация в основен диапазон на версиите. В предходния пример, Solidity може да използва компилатор от всяка компилация във версия 4 на версия на изграждане. Това е начин да кажете на читателите, че програмата ви е написана за 0.4.24, но все пак ще се компилира за следващи версии 4.

Въпреки че използването на карета в директивата за прагма осигурява гъвкавост, по-добра практика е да се откажете от карета и да кажете на Solidity точно коя версия на компилатора очаквате.

Коментиране на вашия Solidity код

Добавянето на коментари към вашия код е допълнителна стъпка, която добавя професионален вид и усещане към вашия Solidity код. Един добре коментиран файл с изходен код е по-лесен за четене и разбиране и помага на другите разработчици бързо да разберат какво трябва да прави кодът ви. Дори прости коментари могат да намалят времето, необходимо за коригиране на грешки или добавяне на нова функционалност. Коментарите също могат да предоставят принос на комунални услуги да генерират документация за вашите интелигентни договори.

Можете да използвате редовни или многоредови редовни коментари. Едноредовите коментари започват с две наклонени черти. Многоредовите коментари започват с символите / * и завършват с символите * /. Ето пример за коментари на Solidity:

// Ето един ред коментар Solidity
/ * Имам много повече да кажа с този коментар, така че ще го направя
използвайте многоредов коментар. Компилаторът ще игнорира
всичко след встъпителните герои за коментар, докато
вижда затварящите символи за коментар. * /

Трети тип коментар за твърдостта се нарича директива Ethereum Natural Specification (NatSpec). Можете да използвате NatSpec, за да предоставите информация за вашия код за генератори на документация, които да използвате за създаване на форматирана документация, описва вашите интелигентни договори. Директивите на NatSpec започват с три наклонени черти и включват специални маркери с данни за документацията. Ето пример за използване на директивите на NatSpec:

/// @title Greeter интелигентен договор
/// @author Джо Програмист
/// @notice Този код приема името на човек и се поздравява
/// @param name Името на обаждащия се
/// @return поздрав Поздравът с името на обаждащия се

Вижте документацията на NatSpec за допълнителна информация.

Импортиране на външен код във вашия смарт договор за Ethereum

Разделът за импортиране е незадължителен, но може да бъде мощен, когато се използва правилно в интелигентния ви договор за Ethereum. Ако вашият интелигентен договор трябва да се позовава на код в други файлове, първо трябва да импортирате тези други файлове. Импортирането на файлове изглежда, че сте копирали другия код в текущия файл. Използването на импорт ви помага да избегнете действителното копиране на код от едно място на друго. Ако имате нужда от достъп до код, просто импортирайте файла Solidity, който го съдържа.

Синтаксисът за импортиране на други файлове е прост. Използвате ключовата дума за импортиране и след това предоставяте името на файла за файла, който искате да импортирате. Например, за да импортирате файла myToken.sol, използвайте този синтаксис:

Импортиране на „myToken.sol“;

Определяне на вашите смартфони Ethereum

В последния основен раздел на Solidity вие определяте съдържанието на вашия смарт договор. Започва с договора с ключови думи и съдържа целия функционален код във вашия смарт договор. Можете да имате няколко секции на договора в Solidity. Това означава, че един .sol файл може да дефинира множество договори. Ето пример за раздел на договора:

договор HelloWorld {
string private helloMessage = "Здравей свят";
функция getHelloMessage () публичен изглед връща (низ) {
върнете здравейМасаж;
}
}

В секцията на договора е мястото, където дефинирате всичките си променливи, структури, събития и функции. Има много повече в секцията на договора на вашия код, но засега знаете как да създадете смарт договор за Solidity.

След като овладеете основите на Solidity, можете да продължите да разработвате по-сложен код и небето е граница.

  1. Лични финанси10 Безплатни ресурси на Ethereum
Ethereum за манекени

От Майкъл Соломон

Налични са много безплатни ресурси, които да ви помогнат да разработите съвременни Ethereum dApps. Съществуват различни инструменти за Ethereum в четири категории: blockchain клиент, тест блокчейн, тестова рамка и IDE. Не е нужно да търсите много трудно, за да намерите много безплатни ресурси на Ethereum в почти всяка категория.

Тук научавате за още десет безплатни инструмента, които да ви помогнат да създадете свой собствен Ethereum blockchain dApps. Някои от ресурсите, които намерите тук, са алтернативи на по-популярните инструменти, а други допълват инструментите, които вероятно вече използвате. Всеки от изброените тук ресурси има уникални характеристики и трябва да бъде в списъка ви с интересни изследователски идеи. Всички те са безплатни и всички си заслужават допълнения към вашия инструментариум за разработка на Ethereum.

Разгледайте алтернативните рамки за развитие на Ethereum

Въпреки че трюфелът е най-често използваната рамка, той не е единственият. В зависимост от вашите нужди и предпочитания, трябва да разгледате няколко алтернативи. В края на деня изберете рамката за разработка, която най-добре отговаря на вашия опит и прави разработването на dApps за Ethereum възможно най-безсилие.

Управлявайте развитието си на Ethereum с Populus

Рамката Populus предоставя много от същите функции като трюфела. Въпреки това, тъй като Truffle се фокусира върху средата на JavaScript, трябва да напишете много JavaScript код, за да автоматизирате задачи, да тествате и поддържате dApps, използвайки Truffle. Това е добре, ако имате много опит с JavaScript и ви е удобно в околната среда. Но ако не знаете JavaScript или не искате да инвестирате време, за да го научите, може да искате да разгледате рамка, базирана на нещо друго.

Populus е базирана на Python рамка за развитие на Ethereum. Ако имате опит с Python или просто като работа с Python, Populus може да си струва да разгледате. Тази уеб страница включва ръководство за бърз старт, документация и инструкции за инсталиране и използване на Populus. Ако харесвате Python, изпробвайте Populus, за да видите как се сравнява с трюфела.

Populus изисква да имате вече инсталиран Python. Тъй като Python 2.7 End of Life (EOL) е планиран за ноември 2020 г., трябва да инсталирате Python версия 3. Трябва да намерите най-актуалната версия на Python за вашата операционна система.

Разгледайте контейнерите за блокчейн Ethereum с Cliquebait

Cliquebait е друга алтернатива за разработване на Ethereum на трюфела. Вместо да работи на блокчейн среда в операционната система на вашия компютър, Cliquebait използва контейнери Docker, които са подобни на леки виртуални машини.

Docker ви позволява да стартирате множество контейнери, всички работещи като отделни виртуални машини (VM), с много по-малко режийни разходи, отколкото работа с няколко стандартни VM. Всеки стандартен VM, който стартирате, изпълнява пълно копие на операционна система, заедно с виртуални копия на хардуера, от който операционната система на VM трябва да работи. Контейнер, като Docker контейнер, изпълнява само компоненти на операционната система и виртуален хардуер, от които се нуждаят програмите. Резултатът е виртуализация с по-ниски изисквания към ресурсите.

Cliquebait предоставя изображение на Docker, което осигурява едновръзка блокчейн Ethereum, който можете да използвате за разработване и тестване на вашите интелигентни договори. Той също така поддържа стартиране на множество контейнери на Docker, за да симулира мулти-възел блокчейн, всички работи на вашия компютър.

Докер трябва да бъде инсталиран, преди да можете да инсталирате и стартирате Cliquebait. След като инсталирате Docker, отидете на Github за инструкции за използване на Cliquebait.

Изберете безплатна интегрирана среда за разработка на Ethereum

IDE, който решите да напишете код, ще бъде най-видимият инструмент в инструментариума ви за разработка на dApp. Ще прекарате повече време, използвайки (или се борете) с IDE, така че намирането на подходящия е от решаващо значение за ефективността. Най-добрият IDE е в очите на гледащия. Трябва да опитате няколко IDE и да изберете най-удобния за вас.

Разработете кода на солидността с Atom

Atom не е строго базиран на блокчейн IDE. Това е мощен IDE с общо предназначение с плъгини Solidity. Когато добавите приставката за Etheratom, получавате подчертаване на синтаксиса, завършване на код и възможност за извикване на компилатора Solidity с едно натискане на клавиша.

По-долу виждате основния интерфейс Atom. Изглежда и се чувства много като VS Code, със собствен характер. След като инсталирате Atom, проверете тези инструкции за инсталиране на приставката Etheratom.

Atom IDE

Отидете онлайн с Remix

Алтернатива на инсталирането на IDE на вашия собствен компютър е да използвате IDE, базиран на браузъра. Remix е популярна IDE, до която можете да получите достъп от всеки уеб браузър. Позволява ви да напишете код в Solidity и след това да внедрите в blockchain. С Remix можете лесно да изберете конкретна версия на компилатора на Solidity, заедно с много функции и опции, които ще намерите полезни при разработването на dApps в Solidity.

Можете да добавите код от вашия локален компютър или можете да го напишете направо от редактора на Remix.

Remix IDE

Поддържайте нещата просто с EthFiddle

Друг уеб базиран SolidE IDE е EthFiddle. EthFiddle е чудесен избор за лесен уеб базиран IDE за писане и съставяне на интелигентни договори на Solidity. За разлика от Remix, EthFiddle не предоставя начин за разгръщане на вашия код.

EthFiddle IDE

Разгледайте клиенти и API на Ethereum

След като напишете своя смарт смарт код, ще трябва да го разгърнете до клиент на Ethereum и след това да имате достъп до blockchain, за да тествате и извиквате кода си, след като той е в производство. Както при рамките, така и при IDE, на разположение са много висококачествени безплатни ресурси.

Разменете вашия Ethereum клиент на Parity

Parity е клиент на Ethereum, който управлява възел в блокчейн мрежа Ethereum. Въпреки че geth е по-популярен, Parity е добра алтернатива, която може да се похвали с няколко предимства пред geth, включително следното:

  • По-бързо: Синхронизира целия блокчейн Ethereum само за часове и е изграден, за да намали натоварването на процесора и мрежата. По-малко използване на дисковото пространство: Срязва блоковете Ethereum, за да се използва по-малко местно дисково пространство. Уеб-базиран GUI: Предоставя функции за лесен достъп чрез удобен интерфейс за уеб-браузър.

Навигирайте, за да започнете с Parity. Ако искате да използвате интерфейса Parity, отидете на Github, за да намерите последната версия. Изображението по-долу показва наскоро инсталиран потребителски интерфейс на четността. Имайте предвид, че първия път, когато стартирате потребителския интерфейс на четността, той изпълнява Parity и стартира процеса на синхронизация с живата мрежа Ethereum.

Паритетът на потребителския интерфейс

Взаимодействайте с Ethereum, като използвате web3.js

Досега най-разпространеният начин за взаимодействие с интелигентните договори на Ethereum е чрез колекция от библиотеки, написани на JavaScript с име web3.js. Можете да напишете код в JavaScript или на всеки език, който поддържа JavaScript обаждания. Оттам, web3.js улеснява взаимодействието с данни и функции на Ethereum.

Отворете Github, за да получите най-новата версия на web3.js, след което вземете най-новата документация за web3.js.

Ако търсите добър урок за web3.js, вижте представянето на Dapp Tutorial.

Съсредоточете се върху портфейлите на Ethereum и сигурността

Сигурността винаги е проблем при разработването на Ethereum dApps. Характерът на blockchain технологията прави преднамереното фокусиране върху сигурността задължителна цел на дизайна. Изграждането на сигурност в dApps зависи от наличието на правилни градивни елементи и солиден метод за поддържане на сигурността след внедряване. Два безплатни ресурса, които ви помагат да пишете и поддържате защитени dApps, са портфейлът Mist и библиотеката за сигурност OpenZeppelin.

Защитете вашите криптовалути Ethereum в Mist

Mist е едновременно портфейл Ethereum и браузър Ethereum. Mist е официалният портфейл за Ethereum, разработен от фондация Ethereum. Той също така осигурява достъп до dApps, подобно на начина, по който популярните уеб браузъри ви дават достъп до уебсайтове в Интернет.

Mist прави повече от просто преглеждане на приложения за блокчейн; тя предоставя набор от инструменти за взаимодействие с мрежата на Ethereum. С Mist можете да генерирате интелигентни договори, да обединявате криптовалута и да споделяте информация между участници, които не се доверяват един на друг. Мъгли опити да се направи достъпът до Ethereum blockchain възможно най-лесен.

За да започнете с Mist, изтеглете най-новата версия на Mist за вашата операционна система. След като инсталирате Mist, можете да стартирате браузъра, за да създадете акаунт или да взаимодействате с блокчейн Ethereum с различни инструменти.

Осигурете вашия Ethereum dApps с OpenZeppelin

Една от най-трудните части на разработването на интелигентни договори в Ethereum среда е да ги направи сигурни от самото начало. Въпреки че може да е лесно да се разгледа сигурността от началото на фазата на проектиране, писането на сигурен код на договорите е по-трудно. Библиотеката на OpenZeppelin е съвкупност от код на Solidity, който ви помага да внедрите защитен код във вашите интелигентни договори.

Можете да импортирате OpenZeppelin в своите интелигентни договори и след това да се възползвате от многото имплементи на стандартите на Ethereum, като ERC-20 маркери, вместо да се налага да ги прилагате сами. OpenZeppelin ви предпазва от необходимостта да преоткривате колелото за сигурност във вашия код за смарт договор на Solidity.

Научете повече за разработването на Ethereum dApps

Ако искате да научите повече за развитието на Ethereum и да се забавлявате много в процеса, разгледайте CryptoZombies. CryptoZombies е стъпка по стъпка урок за солидност, в който разработвате игра на базата на блокчейн, включваща зомби армия, която създавате. С натрупването на опит вашите зомбита се изравняват и придобиват нови умения.

  1. Основи на личните финансиEthereum: Въведение в интелигентните договори и солида
Ethereum за манекени

От Майкъл Соломон

Ethereum използва интелигентни договори, за да ограничи данните до определени правила, когато извършвате обмен. За да пишете интелигентни договори, трябва да владеете език на програмиране. Един от най-популярните езици за интелигентни договори и по-специално Ethereum е Solidity. Потърсете кратко представяне на тези теми.

Основи на интелигентните договори на Ethereum

Когато обменяте ценни вещи, обикновено правилата определят как се извършва транзакцията. В много случаи правилата са прости. Например, давате на Джо 1,89 долара, а Джо ви дава безалкохолна напитка. Всяка страна може да види и утвърди приноса на другата страна към транзакцията. Ако се опитате да дадете пари на Джо Монополи, няма да получите безалкохолната си напитка.

Въпреки че тази транзакция изглежда проста, има повече от нея, отколкото среща окото. В повечето случаи, ако безалкохолната напитка струва 1,89 долара, ще трябва да наддадете повече от това за нея. Ще трябва да плащате и данъци. Има друг участник в сделката: правителството. Вместо да запази всички пари, Джо трябва да изпрати част от тях на правителството за данъци.

Преместването дори на прости транзакции като примера за безалкохолни напитки в дигиталния свят изисква внимателна мисъл. Не можете просто да изпращате пари на хората и да се доверявате, че те ще изпълнят своята роля. Трябва ви някакъв начин да наложите правила и спазване, за да сте сигурни, че всички страни се третират справедливо.

Интелигентните договори ви помагат да прилагате правила, когато обменяте нещо ценно в Ethereum. Най-простият начин да се опишат интелигентните договори е, че те са програми, които се изпълняват, когато се извършват определени транзакции.

Например, ако създадете смарт договор за закупуване на безалкохолни напитки, този софтуерен код ще се стартира всеки път, когато някой купи безалкохолна напитка. Кодът на интелигентния договор се съхранява в blockchain, така че всички възли имат копие от него. Освен това няма значение къде работи софтуерът: Гарантирано е, че всички възли са изпълнени по същия начин и получават същите резултати като всеки друг възел.

Интелигентните договори на Ethereum са Turing завършени, което означава, че могат да изчислят всичко, което е изчислимо с достатъчно ресурси. Turing пълнотата е важна, тъй като умните договори на Ethereum не са ограничени във видовете действия, които могат да извършват. Те могат да изпълняват всякакви сложни алгоритми, които можете да проектирате.

Интелигентният договор за безалкохолни напитки започва с купувача. Ето как може да се случи размяната:

  • Купувачът създава транзакция, която изпраща пари на продавача в замяна на безалкохолната напитка. Купувачът изпраща адреса на продавача като вход към адреса на смарт договора. Интелигентният договор тече за извършване на транзакцията. Той потвърждава, че имате достатъчно пари в сметката си, за да платите за безалкохолната напитка. Интелигентният договор потвърждава, че продавачът има безалкохолната напитка, която искате на склад. Интелигентният договор удържа средства от купувача, изпраща средствата на продавача и казва на продавача да изпрати безалкохолното питие на купувача. В същата стъпка интелигентният договор изпраща необходимия данък по сметката на данъчния орган и изпраща останалата сума по сметката на продавача.

Процесът може да изглежда досаден, но той е лесен и гарантира, че всяка транзакция се извършва по един и същи начин. Този пример е твърде прост за обмен в реалния живот и някои важни подробности са останали. Като за начало предполагате, че продавачът ще изпрати безалкохолната напитка на купувача. Размените в реалния живот изискват допълнителен слой защита и за двете страни. Интелигентните договори използват escrow акаунти през цялото време, за да задържат парите на купувача, докато продавачът не достави стоките или услугите.

Интелигентните договори осигуряват управление и предсказуемост на Ethereum. Без тях Ethereum би била просто готина техника на разпределено съхранение. Но с тях Ethereum е стабилна децентрализирана платформа, която поддържа взаимодействия и обмен между недоверчиви потребители, включително изключително сложни транзакции. Лесно е да видите стъпките, необходими за закупуване на безалкохолна напитка.

Други транзакции, като например сделки с недвижими имоти, са много по-сложни, имат много зависимости и изисквания и като цяло включват няколко човека и организации. Интелигентните договори на Ethereum могат да помогнат на разработчиците да създадат софтуер, който елиминира посредниците, оптимизира сложните процеси и намалява общите разходи и време, необходими за завършване дори на най-сложните размени.

Въвеждане на Solidity - езикът на интелигентните договори

Интелигентните договори са софтуерни програми. С достатъчно ресурси, интелигентните договори могат да направят всичко, което може да направи всеки друг софтуер. Можете да пишете интелигентни договори на Ethereum на няколко езика:

  • Мутан: По-стар интелигентен договорен език, който беше оттеглен през 2015 г. LLL: Език, подобен на Лисп, очевидно разработен да прилича на езика Лисп. Въпреки че LLL все още се поддържа, той не се използва за много текущи проекти за интелигентни договори. Змия: Език, който прилича на езика Python. От септември 2017 г. Змията не се препоръчва за текущо развитие. Bamboo: Сравнително нов език, който се фокусира върху това да прави явни преходи на състоянието на blockchain и да избягва проблеми с повторното кодиране. Viper: Друг сравнително нов език, който се фокусира върху сигурността и простотата. Солидност: В момента най-популярният език за разработка на интелигентни договори. Solidity изглежда като езика на JavaScript и осигурява пълнофункционален език за разработване на интелигентни договори с общо предназначение.

Солидността е най-популярният език за интелигентните договори и този, който най-вероятно ще срещнете.

Ако ви е удобно с JavaScript, избирането на Solidity ще бъде малко по-лесно. Ако не знаете много JavaScript, това е добре. Ще научите основите на Solidity от приземния етаж. Всъщност, нека започнем с програма, която може да изглежда позната: повсеместната програма „Здравей свят“.

Обърнете внимание на този много прост код за интелигентен договор:

плътност на прагмата ^ 0.4.25;
договор helloWorld {
функция printHelloWorld () обществена постоянна възвръщаемост (низ) {
връщане 'Здравей свят!';
}
}

Ето как изглежда интелигентният договор на Solidity! След заглавието определяте своя договор и след това всички функции, които съставляват вътрешното функциониране на програмата. След като напишете и тествате интелигентен договор, можете да го разгърнете в блокчейн и след това да го изпълните. Когато получите всичко както трябва, вашият интелигентен договор ще ви покаже емблематичното съобщение „Здравей, свят!“.

Когато научите повече за Solidity, ще видите, че той прилича много на JavaScript, но също така се чувства малко като C ++ и Python. Разработчиците на Solidity основаха езика и на трите езика. Той поддържа наследяване, библиотеки и дефинирани от потребителя типове, които могат да бъдат доста сложни. Той също е статично въведен език, което означава, че трябва да предоставите изрични типове данни за променливите, които създавате и използвате.

Преди всичко, Solidity е интелигентен език за разработване на договори. Въпреки че прилича на други езици, той включва примитиви и ориентация, предназначени да взаимодействат с блокчейн Ethereum.

Твърдото разбиране на интелигентните договори и Solidity ще направи вашите взаимодействия с Ethereum много по-лесни.

  1. Лични финансиРазлични видове портфейли Ethereum
Ethereum за манекени

От Майкъл Соломон

Всичко, което се съхранява в блок Ethereum, има адрес, така че собственикът да може да намира и достъп до своите данни в блокове. Данните, съхранявани в Ethereum блокове, могат да бъдат криптовалути, като етер или други символи, интелигентни договори или всякакви други данни. Адресът на данните идентифицира собственика на тези данни. А що се отнася до криптовалутите, само собственикът има достъп до тези данни. Е, всеки би могъл да получи криптирани данни, но само собственикът може да дешифрира данните и да консумира актива.

Лицето, което контролира частния ключ, използван за криптиране на данни в blockchain, контролира данните. Единственият начин, по който можете да предявите претенции за който и да е крипто актив, е да докажете, че контролирате частния ключ, свързан с адреса на криптовалута.

Адресите в Ethereum са последните (най-дясните) 20 байта от хеша на публичния ключ на собственика. За да изчислите адрес, просто изчислете хеша на Keccak-256 на публичен ключ и след това копирайте най-десните 20 байта. Получената стойност е адресът за публичния ключ на този акаунт. Кодът за изчисляване на адрес от публичен ключ изглежда така:

addr = дясно (keccak256 (pubkey), 20)

Единственият начин да защитите криптовалутите си е да защитите личните си ключове. Имате нужда от някакъв механизъм за съхраняване на личния ви ключ, за да можете да стигнете до него, но никой друг не може. Основната функция на портфейла е като място за съхраняване на един или повече частни ключове, използвани за достъп до данните на blockchain.

Перфектният портфейл Ethereum улеснява наистина стигането до вашите ключове и невъзможно за други хора да имат достъп до вашите ключове. Всички портфейли балансират тези две цели и постигат известен компромис между полезността (колко е лесен достъпът до вашите ключове) и сигурността (колко са безопасни вашите ключове от атака).

Видове портфейли Ethereum

Частните ключове могат да се съхраняват по няколко начина, вариращи от много сигурен до много лесен за достъп. Трябва да помислите колко важни са вашите лични ключове и да изберете тип портфейл, който работи за вас. Основните категории портфейли следват:

  • Софтуерните портфейли съхраняват частни ключове във файлове с данни, където потребителите могат лесно да имат достъп до тях. Хардуерният портфейл съхранява частни ключове на физически чип, съхраняван в устройство, например Ledger Nano S. Хартиените портфейли са парчета хартия с отпечатаните върху тях ключове.

Софтуерни портфейли Ethereum

Софтуерните портфейли са програми, които съхраняват частни ключове и улесняват потребителите да изтеглят и използват тези ключове. След като настроите портфейла си, можете да получите достъп до ключовете си, като предоставите потребителско име и парола или криптиран файл, който имате само вие. Софтуерните портфейли могат да бъдат допълнително разделени на две основни категории: горещи портфейли и студени портфейли.

Ethereum горещ портфейл

Горещ портфейл е този, който съхранява вашите ключове онлайн. Лесно можете да получите достъп до ключовете и активите си в Ethereum от всяка точка на света. Всичко, от което се нуждаете, е интернет връзка и идентификационни данни за достъп. Въпреки че горещите портфейли са удобни, това удобство идва на цена. Ако някой открадне вашите идентификационни данни за достъп, той или тя може да открадне активите ви в Ethereum.

Освен това трябва да се доверите на организацията на портфейла, която съхранява вашите ключове. Ако вашата организация на портфейла Ethereum е хакерска или не работи, можете да загубите всичко. Ако тази организация е обект на разследване, вашата информация може да бъде разкрита или вашите активи на Ethereum могат да бъдат замразени. Вие се отказвате от контрола, за да получите удобство.

Ефириум студен портфейл

Студен портфейл е този, в който съхранявате ключовете си офлайн. Трябва да предоставите ключовете си само когато искате да получите достъп до вашите активи на Ethereum. Можете да съхранявате ключовете офлайн по много начини, но този подход изисква няколко допълнителни стъпки, когато искате да купувате или продавате криптовалути или да взаимодействате с интелигентни договори.

Въпреки че студените портфейли са малко по-малко удобни, те могат да бъдат по-сигурни. Вие имате контрол над ключовете си с този тип портфейл Ethereum и можете да предприемете всички предпазни мерки, които смятате за необходими, за да защитите ключовете си. Използването на студен портфейл ви дава алтернатива и намалява заплахата от нападател да нахлуе във вашия онлайн портфейл и да събере много ключове.

Със студен портфейл вие носите отговорност за защитата на ключовете си. Трябва да сте сигурни, че всяко място, където съхранявате ключовете си, е възможно най-сигурно. Ако имате много стойност, съхранявана на блокчейн Ethereum, уверете се, че вашите ключови места за съхранение са възможно най-сигурни и няма достъп до вас, освен вас.

Топъл портфейл срещу студен портфейл за Ethereum

Как решавате дали да използвате горещ или студен портфейл за Ethereum? Ако искате повече удобство и се доверите на сигурността на доставчик на онлайн портфейл, горещият портфейл може да бъде най-добрият избор. Освен това, ако не планирате да съхранявате нещо изключително полезно с помощта на конкретен акаунт в Ethereum, горещият портфейл е най-лесен и може да има най-голям смисъл за този акаунт.

От друга страна, ако не се доверявате на онлайн доставчици и се чувствате удобно да поемате отговорност за осигуряването на вашето съхранение на ключове, студен портфейл ще ви даде повече контрол. Или ако планирате да съхранявате активи със значителна стойност, трябва да поемете отговорност за защитата на собствените си неща. Ще трябва да пожертвате известно удобство, но загубата на цялата ви криптовалута сама по себе си е неудобна.

Видове клиентски софтуер за портфейл за Ethererum

След като решите да съхранявате ключовете си в горещ или студен портфейл, следващият ви избор са типовете / ите на клиентския софтуер за портфейл. Ако изберете софтуерен портфейл на Ethereum, за да съхранявате ключовете си, трябва да стартирате този софтуер някъде. Имате няколко възможности за избор:

  • Уеб портфейли: Софтуер за Wallet, до който имате достъп чрез уеб браузър. Настолни портфейли: Софтуер, който работи на настолен или преносим компютър. В повечето случаи портфейлите на работния плот работят на компютри, работещи с Microsoft Windows, macOS или Linux. Мобилни портфейли: Портфейли Ethereum за мобилни устройства. Най-разпространеният софтуер за портфейл работи на операционните системи iOS и Android за смартфони и таблети.

Не е нужно да избирате само един тип портфейл Ethereum. Можете да използвате няколко портфейла, в зависимост от вашите нужди. Ключовете за крипто-активи с висока стойност трябва да бъдат защитени по-внимателно, докато ключовете за крипто-активи с ниска стойност могат да се съхраняват онлайн за по-лесен достъп.

Хардуерни портфейли Ethereum

Опция за портфейл Ethereum, която е по-сигурна от повечето софтуерни портфейли, е хардуерен портфейл. Хардуерният портфейл съхранява частни ключове на физически чип. Можете да свържете устройството с чип към много различни видове компютри и мобилни устройства, като по този начин осигурите множество начини за достъп до клавишите. Повечето хардуерни портфейли също предоставят физически бутони за управление на достъпа до вашите клавиши.

Предимството на физическия портфейл е повишената сигурност. Свързвате устройството си с компютър само когато искате да получите достъп до активите си в blockchain. Когато устройството не е свързано, вашите ключове са безопасни във физическото устройство. Нападателят ще трябва да открадне физически вашето устройство в портфейла и да знае вашите идентификационни данни за достъп, за да стигне до вашите ключове.

Недостатъкът на физическия портфейл е загубата на удобство и излишък. Трябва да прикачите физическия си портфейл към компютър или устройство всеки път, когато искате да получите достъп до активите си в blockchain. Ако получавате достъп до активи често, този процес може да стане досаден.

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

Хартиени портфейли Ethereum

Последният тип портфейл Ethereum може да бъде най-сигурният. Както подсказва името, хартиеният портфейл е буквално само лист хартия. След като създадете акаунт в Ethereum и генерирате ключове, един от начините за съхраняване на тези ключове е просто отпечатването им на хартия. Повечето опции за генериране на ключове ви дават възможност за избор на печат на вашите ключове. Ако изберете тази опция, ще получите на хартиен носител частните и публичните ключове, заедно с QR код на всеки ключ.

хартиен портфейл Ethereum

Всеки път, когато искате да получите достъп до активите си в blockchain, като например да купувате или продавате Ether, можете или да въведете личния си ключ, или да сканирате QR кода. Разбира се, софтуерът, който използвате за достъп до Ethereum, трябва да поддържа QR сканиране.

Хартиените портфейли са сигурни само ако пазите хартията си в тайна. Внимателно пазете този лист хартия. Всеки, който може да вземе хартията или дори да я снима, може да открадне всичките ви активи на Ethereum. И също като хардуерните портфейли Ethereum е добра идея да направите резервно копие и да го запазите на сигурно място.

Независимо кой тип Ethereum портфейл сте избрали, не забравяйте да вземете предпазни мерки, за да запазите активите си.

  1. Лични финанси Избор на най-добрия портфейл Ethereum за вас
Ethereum за манекени

От Майкъл Соломон

Имате много възможности за избор на портфейли Ethereum. Тук научавате за най-популярните видове. Можете да използвате тази информация, за да решите кой портфейл Ethereum ще отговаря най-добре на вашите нужди.

Портфейл Ethereum

Ако след като прочетете това, не сте сигурни кой е най-добрият портфейл Ethereum, не се притеснявайте - изберете този, който изглежда добре, и започнете да го използвате. Ако решите по-късно да смените друг портфейл, процесът е лесен. И нито едно правило не диктува, че не можете да имате няколко портфейла Ethereum. (Не е като да натъпквате няколко портфейла в задния си джоб!)

Софтуерни портфейли Ethereum

Софтуерните портфейли са просто програми, които генерират, съхраняват и управляват вашите ключове Вашите опции са уеб портфейли, настолни портфейли и мобилни портфейли. Двете основни разлики между опциите на софтуерния портфейл са къде те се изпълняват и къде съхраняват вашите ключове.

Уеб портфейли за Ethereum

Уеб портфейлите са популярни за ежедневна употреба на Ethereum. Те са лесни за използване и правят достъпа до вашите ключове удобен. За да отворите портфейла си Ethereum, се нуждаете само от интернет връзка, уеб браузър и вашите идентификационни данни за вход.

Настолни портфейли Ethereum

Настолните портфейли са софтуерни програми, които работят на персонален компютър. Повечето настолни портфейли съхраняват ключове локално, така че трябва да имате достъп до компютъра си, за да отворите портфейла си Ethereum.

Мобилни портфейли Ethereum

Мобилните портфейли са подобни на настолните портфейли, но софтуерът работи на мобилни устройства. Вашите ключове обикновено се съхраняват и на мобилното устройство. Мобилният портфейл е добра опция, ако винаги искате ключовете си със себе си. Недостатъкът е, че ако загубите мобилното си устройство, бихте могли да загубите достъп до своите активи на Ethereum. (Ето защо резервните копия винаги са добри.)

Хардуерни портфейли Ethereum

Хардуерните портфейли осигуряват допълнителен слой сигурност за вашите ключове, тъй като те се съхраняват на физически чип вътре в устройството. Повечето хардуерни портфейли за Ethereum са USB устройства. Имате достъп до вашите ключове, като прикачите устройството на портфейла към компютър или мобилно устройство и след това стартирате някакъв софтуер за достъп до клавишите.

В зависимост от устройството, софтуерът може да е уеб базиран или да работи локално на компютъра или мобилното устройство. Няколко софтуерни портфейла предоставят възможност за интегриране с хардуерни портфейли Ethereum, за да направят съхранението на ключове още по-сигурно.

Съхраняването на вашите ключове на вашето собствено устройство означава, че трябва да предприемете мерки за осигуряване на устройството. Винаги бъдете наясно с местоположението на устройството и винаги имайте резервно копие, в случай че устройството изчезне.

Хартиени портфейли Ethereum

Хартиеният портфейл е най-простият тип портфейл Ethereum. След като създадете акаунт и генерирате ключовете си, просто отпечатвате клавишите на обикновен лист хартия. Вашите ключове съществуват само на хартията, която сте използвали за отпечатването им; не ги съхранявате с помощта на софтуер или на хардуерно устройство.

Предимството пред хартиения портфейл Ethereum е, че имате върховен контрол върху ключовете си и никой друг не може да ги докосне. Това е и най-големият недостатък. Трябва да предприемете допълнителни предпазни мерки, за да съхраните сигурно резервно копие, в случай че нещо се случи с вашия лист хартия.

Който и портфейл от Ethereum да изберете, трябва внимателно да се прецени спрямо ползите, недостатъците и в крайна сметка, как смятате да го използвате.

  1. Лични финансиКакво е Ethereum?
Ethereum за манекени

От Майкъл Соломон

Ethereum е цялостна, децентрализирана платформа за приложения, която разширява обхвата на възможностите извън възможностите преди blockchain технологията. И така, какво го отличава от другите децентрализирани платформи? Ето малко фона на Ethereum.

Представяме ви Ethereum

Биткойн беше първото приложение за блокчейн технология. Той беше революционен и определи първата широко използвана цифрова валута, наречена криптовалута. Крипто частта на името се отнася до използването на криптографски хеши, за да се гарантира целостта на блокчейна. Споделената книга буквално запазва копие на всяка транзакция с криптовалута, която се проверява от всички възли.

Използвайки този подход, bitcoin създаде постоянен запис на всяка размяна на тяхната криптовалута. И тъй като собствениците на акаунти се идентифицират само чрез адрес, биткойн винаги се е радвал на мярка за анонимност.

Въпреки че биткойн адресите не са свързани пряко с хората, много борси имат записи на идентичности, които са свързани с адреси. В даден момент трябва да обмените криптовалутата си за реална валута. Тази точка на преминаване е мястото, където много служители на реда се фокусират, когато се опитват да издирят престъпници, използвайки криптовалута.

Тъй като bitcoin става все по-популярен, изследователите започнаха да виждат повече приложения за blockchain технологията отвъд криптовалутата. През 2013 г. Виталик Бутерин, съосновател на списание Bitcoin, публикува бюлетин, в който предложи нова, по-функционална блокчейна реализация. Това ново предложение беше за блокчейн Ethereum. След като спечели интерес и привлече техническа и финансова подкрепа, е основана Ethereum Foundation, швейцарска организация с нестопанска цел и стана разработчик на Ethereum.

Ethereum не е създаден само за обмен на криптовалута. Всъщност той е проектиран от самото начало, за да бъде различен. Основните характеристики на Ethereum са интелигентният договор и етер.

Ether е естествената криптовалута, която Ethereum поддържа, въпреки че можете да създадете свои собствени маркери, за да обменяте стойност в много други форми. Интелигентните договори осигуряват среда за изпълнение, която гарантира целостта във всички възли. Всеки код, който се изпълнява на един възел, се изпълнява по същия начин на всички възли. Тази гаранция дава възможност за разгръщане на широк спектър от приложения в ненадеждни среди.

Основните гаранции Ethereum осигурява подкрепа на много видове обмен на стойност, без да се притеснявате от измама, цензура или каквото и да е участие на трета страна. Когато взаимодействате с приложение на Ethereum, не е нужно да разчитате на какъвто и да е посредник, който да посредничи за вашите транзакции. Нямате нужда от банка, търговец на едро или брокер за транзакции, за да осигурите доверие. В резултат на посредничеството на Ethereum често можете да извършвате транзакции по-бързо, с далеч по-ниски такси за услуги и без да се изисква одобрение от външни органи.

Докато наследените решения за споделяне на данни и споделяне на процеси изискват властите на трети страни да наложат целостта, Ethereum осигурява целостта на процеса и данните, заедно с прекъсването на информация. Възможностите тепърва започват да се проучват.

Проучване на консенсус, добив и интелигентни договори на Ethereum

Ethereum осигурява цялостност в начина, по който прилага неизменност и интелигентни договори. Неизменяемостта всъщност не е гаранция за блокчейн. Можете да промените данни във всеки блок - дори и след като други блокове са добавени към блокчейна. Въпреки това, щом промените блок, този блок и всички следващи блокове не успяват да проверят целостта и възелът ви не е синхронизиран. Вместо да казваме, че blockchain е неизменна, по-точно е да се каже, че всякакви промени (мутации) на blockchain се откриват лесно и веднага.

Ethereum се основава на демокрацията. Всеки възел получава равен глас. Всеки път, когато възлите получат нов блок за добавяне към blockchain, те валидират блока и неговите транзакции и след това гласуват дали да приемат или отхвърлят блока. Ако няколко различни блока са изпратени от различни възли, само един от блоковете може да получи гласове от мнозинството. Блокът, който получава повече от половината от гласовете на мрежовия възел, се присъединява към blockchain като най-новия му блок.

Един от първите проблеми е да се определи кога нов блок е готов за блокчейна. Когато се подават твърде много конфликтни блокове, процесът на гласуване се забавя. Ethereum затруднява добавянето на нови блокове, за да поддържа ниския брой сблъсъци на нови ниски и да ускори гласуването. Ethereum използва консенсус протокол, наречен Proof of Work (PoW), който определя правилата за валидиране и добавяне на нови блокове. PoW прави добавянето на блокове към blockchain трудно, но изгодно.

Ethereum определя етера като неговата криптовалута. Можете да прехвърлите етер между акаунти или да го спечелите, като направите тежката работа по добавяне на блокове към блокчейн Ethereum. Механизмът на Ethereum PoW изисква възлите да намерят число, което в комбинация с данните на заглавките на блока създава криптографска стойност на хеш, която съответства на текущата цел, която е коригирана, за да поддържа постоянно производството на нов блок.

Трудно е да намерите хеш-стойност, която съответства на текущата цел Трябва да опитате средно повече от квадрилиони стойности, за да намерите правилната. Това е въпросът. Използването на PoW механизъм прави толкова трудно да се предаде блок, че да се подават по-малко блокове, което намалява броя на сблъсъците. Възелът, който намери правилната стойност, получава малко етерно плащане за усилието. Този процес се нарича майнинг и възелът, който печели наградата, е миньорът на този блок.

Майнингът регулира скоростта, с която новите блокове се подават като кандидат блокове, и води до число, което е лесно да се потвърди. Намирането на точния номер за решаване на пъзела е трудно, но проверката на числото е бърза и лесна. Друг интересен аспект на майнинга е, че заглавката на всеки блок съдържа хеш от предишния блок. Възлите на Ethereum използват хеша за лесно откриване на неоторизирани промени в блока. Ако блокът се промени, хеш-резултатът не съвпада и блокът става невалиден.

Извличането на криптовалута също е начин да печелите пари, използвайки блокчейн технологията. Добивът стана конкурентен и повечето от днешните миньори инвестират във високоефективен хардуер с множество графични процесори, за да извършват сложните операции. За да поддържа справедливия процес на добив, Ethereum използва стойност на сложността, която прави процеса на добив още по-труден, тъй като миньорите стават по-бързи. Регулирането на сложността позволява на Ethereum да регулира новата честота на блока до средно един нов блок на всеки 14 секунди.

Лепилото, което държи околната среда на Ethereum, е интелигентният договор. Ethereum е много повече от финансова книга, а интелигентните договори осигуряват голяма част от богатата му функционалност. Всеки възел Ethereum изпълнява копие на виртуалната машина Ethereum (EVM).

EVM управлява интелигентния код на договора по начин, който гарантира, че интелигентните договори се изпълняват по един и същи начин на всички възли и дават същата продукция. Изпълнението на смарт код за договор не е задължително. Интелигентните договори се изпълняват въз основа на конкретни правила и не могат да бъдат развалени или спрени. Интелигентните договорни гаранции на EVM осигуряват стабилна платформа за автоматизирана обработка на транзакции, на която можете да се доверите. Интелигентните договори осигуряват основната сила на околната среда Ethereum.

Една от известните слабости на софтуера е, че нападателите понякога могат да заобиколят контролите му и да извършват непредвидени действия. Този тип атака е по-трудна в Ethereum, главно поради интелигентното му изпълнение на договора. Нападателите не могат да атакуват директно блокчейна и да правят неоторизирани промени, защото всякакви такива промени ще бъдат незабавно открити

Следващият най-вероятен вектор за атака е интерфейсът на интелигентния договор към данните на blockchain. Ethereum гарантира, че интелигентният код на договора, който се превежда в байт код преди да бъде написан в blockchain, изпълнява на всеки EVM инстанция по един и същи начин. Също така, EVM определя кога се изпълнява код и какъв код се изпълнява. Нападателите имат малко възможности да използват кода на интелигентния договор, което прави Ethereum още по-сигурна среда.

Като цяло платформата Ethereum предлага възможности, които надхвърлят настоящите приложения на blockchain.

  1. Принципи на дизайна на личните финанси10 за разпространени приложения за блокчейн
Ethereum за манекени

От Майкъл Соломон

Blockchain технологията е разрушителен, трансформиращ подход към начина, по който управляваме данните. Обещава радикално да промени начина, по който изпълняваме задачи, които обработват чувствителна информация в споделена среда. Критичните операции с чувствителни данни в исторически план изискват силен централен орган, който да убеди собствениците на данни да се доверят достатъчно на околната среда, за да могат да управляват своите данни.

Едно от по-трудните препятствия, които всеки blockchain dApp трябва да преодолее, е изграждането на доверие. Потребителите трябва да се доверят, че софтуерът, работещ на блокчейна, включва солидни мерки за осигуряване на сигурност и защита на поверителността, преди да предоставят чувствителни лични и бизнес данни.

Можете да извървите дълъг път към изграждането на това доверие, като се придържате към няколко основни насоки за дизайн. Ако следвате десетте дизайнерски цели за блокчейн приложения, които намерите тук, ще помогнете на потребителите да се доверят на приложението ви достатъчно, за да го използват и да разчитат на него.

Проектирайте блокчейн приложения за доверие

Една от основните причини повечето организации да се насочат към blockchain решения е способността му да споделя данни между възли, които не се доверяват една на друга. Ако се замислите, това наистина поставя висока граница за разработчиците на dApp. За да развиете успешен dApp, трябва да убедите потребителите си да се доверят на вашия софтуер с техните данни, докато го изпращате до голям брой други възли, на които не се доверявате (и те също не се доверяват).

Доверието обикновено е (но не винаги) преходно. (Да, вие се върнете към клас по математика. Ако A = B и B = C, тогава A = C. Вие сте добре дошли.) Това е най-често срещаният начин, по който ние, като хора, се справяме с доверие.

Ако имате доверие на Мария и Джо ви се доверява, тогава Джо вероятно е добре с доверието на Мария. Нека приемем, че сте хранителен критик. Джо се доверява, че ти препоръчваш добра храна. Ако публикувате, че наистина харесвате прасковения пай на Мери, тогава Джо ще има по-голяма вероятност да опитате прасковения си пай, тъй като Джо се доверява на вкуса ви в храната. Но това не се проследява с надеждна среда. В случай на blockchain dApps, потребителите ви се доверяват, но вие не се доверявате на другите в собствената си блокчейн мрежа.

Първата ви цел на дизайна е цел на високо ниво, която трябва да запазите като мотиватор за най-доброто съзнание за всички решения. Много от следващите дизайнерски цели подкрепят тази: Проектирайте вашите dApps за доверие. Тази цел означава, че искате да помислите какво искат вашите потребители и какво ги кара да чувстват, че могат да се доверят на вашия dApp.

Потребителите трябва да знаят, че вие ​​ще се грижите за техните данни. Вашият dApp не трябва да крие нищо и трябва да улеснява проверката на случващото се. Тя трябва ясно да съобщава добра и лоша информация и да осигурява цялостно усещане за благополучие. Въпреки че това е висока поръчка за софтуер, е необходимо да се изгради доверие.

Най-важният аспект на проектирането за доверие е разбирането кои са вашите потребители и какво ги кара да се чувстват комфортно. Накратко, знайте вашите потребители. Знайте какво искат и как можете да ги убедите, че няма да губите времето им или да се възползвате от доверието им към вас.

Увеличете последователността в приложенията на blockchain

Един от най-лесните начини да избегнете объркване е да ограничите опциите и конфликтните преживявания във вашите dApps. Microsoft научи отдавна силата на последователност. Те разработиха стандарти за взаимодействие с потребителите и проучиха и дефинираха всеки аспект от създаването на потребителски интерфейс. Ето защо приложенията на Microsoft се чувстват подобни една на друга.

Ако сте използвали едно приложение на Microsoft, ще разпознаете поне общия потребителски интерфейс в други приложения на Microsoft. (И ако използвате продукти на Microsoft известно време, ще си спомните огромните смущения, причинени от Microsoft, когато преобразуваха в потребителски интерфейс на базата на плочки - до голяма степен защото всички бяха толкова удобни с наследения интерфейс на Microsoft.)

Например, ако искате да намерите текущата версия на програма за Windows, която стартирате, можете почти винаги да щракнете или да докоснете Помощ, след това да щракнете или да докоснете елемента About от менюто Помощ.

Изображението по-долу показва елемента About в VS Code. Елементът от менюто About съществува в почти всяко приложение на Windows и показва основна информация, включително номера на версията, на програмата, която стартирате. Този прост пример за последователност на потребителския интерфейс улеснява всеки да намери информация за приложението, без да се налага да го търси.

VS код Ethereum

Следващото изображение показва диалоговия прозорец About във VS Code. Ще намерите информация за изданието за повечето приложения на Windows, като щракнете или докоснете Помощ → Относно. Това е силата на последователност.

VS Code About диалогов прозорец

Вашите dApps трябва да определят ясни стандарти за всяко потребителско взаимодействие. Когато помолите потребителите си да предоставят информация, направете го по същия начин през целия си dApp. Когато потребителят въведе идентификационен номер на продукт на няколко места, полето за въвеждане трябва да изглежда еднакво на всяко място. Използвайте същите цветове, шрифтове и метод на въвеждане, за да придадете на dApp постоянен вид и усещане.

Друга област, в която ще намерите последователност в GUI приложенията, са клавишните комбинации. Почти винаги можете да използвате Ctrl-C, за да копирате маркиран текст, а Ctrl-V да поставите този текст на ново място. Постоянните клавишни комбинации улесняват още по-лесното учене и използване на нов софтуер.

По същия начин стандартизирайте цялата продукция. Съобщенията за грешки и сигналите са основни области за стандартизация. Когато е възможно, използвайте общи входни и изходни слоеве, така че всички вход и изход да използват един и същ набор от функции. Целият dApp ще изглежда по-последователен.

Опитвате се да насърчите потребителите си да продължат да използват вашия dApp. DApp, който представя последователен потребителски интерфейс, е този, който изгражда доверие. Постоянството също така улеснява вашите потребители да научат как да използват вашия софтуер, а приложение, което е лесно да се научи, е това, което потребителите вероятно ще предпочетат и приемат.

Премахнете съмнението от приложенията на blockchain с прозрачност

Една от причините, поради които потребителите се доверяват на приложение, е, че те всъщност не го разбират. Потребителите предоставят своите данни, но не са сигурни какво се случва след това. Те не знаят къде отиват данните им и дали те все още са някъде в системата. Това усещане от поставянето на данни в черна кутия може да бъде още по-силно с blockchain dApps.

Тъй като blockchain технологията става все по-популярна, цялостната информираност за нейните характеристики се увеличава. Това означава, че много от вашите потребители ще знаят, че вашият dApp изпраща данните си на много други компютри, потенциално в целия свят. Едно от препятствията, които ще трябва да преодолеете, е да убедите потребителите си, че защитавате техните чувствителни данни.

Ясно съобщавайте от какви данни се нуждае вашият dApp, защо се нуждае от всеки тип данни и какво правите с тях. Няма да е необходимо да предавате тази информация всеки път, когато поискате данни, но тя трябва да бъде достъпна при първия контакт с нов потребител и при поискване след това.

Трябва също така да улесните потребителите да виждат какво са направили (и какво е направил вашият dApp с техните данни.) Предоставянето на прозрачност на всяка стъпка дава на потребителите усещане за увереност.

Улеснете вашите потребители да разгледат и да получат проверка на действията. Това ниво на прозрачност дава на потребителите увереност, че вашият dApp прави това, за което твърди, че може да направи, и може да намали опасението, че вашият dApp крие нещо. В зависимост от нивото на загриженост на потребителите и вашите собствени дизайнерски указания, можете да изградите прозрачност във всеки работен процес или във функциите при поискване, за да позволите на захранващите потребители да пробиват по желание.

Предоставете обратна връзка, насоки и задайте очаквания за вашите приложения за блокчейн

Следващата дизайнерска цел, която ви е необходима за приложението blockchain, е предоставянето на обратна връзка и насоки и задаване на очаквания. Тази цел е логично разширяване на прозрачността. Докато прозрачността прави детайлите за транзакциите и работния процес лесно достъпни за потребителите, настройките за обратна връзка, насоки и очаквания превръщат прозрачността в нормалния работен процес. Вместо просто да позволявате на потребителите да виждат какво се е случило, трябва да им представяте информативна обратна връзка при всяка важна стъпка на работния процес.

Например, ако сте производител и току-що сте прехвърлили собственика на нов трактор на товародател, новата ви верига за доставки dApp може да ви изпрати съобщение „Току-що прехвърлихте трактор със сериен номер ABC-12345 на Unified Shipping - Номер на транзакция 456778 . “Разбира се, вероятно ще получите повече подробности за прехвърляне на капиталов елемент, но имате идея. DApp предостави обратна връзка, която по същество казва „Хей, добра работа. Ето какво направихте. ”Информативната обратна връзка е първата стъпка за убеждаване на потребителите да се доверят на вашия dApp. Отзивите им дават гаранция, че използват софтуера правилно.

Можете да разширите примера за обратна връзка, за да информирате и потребителите за следващата стъпка. В примера на трактора вашето съобщение за обратна връзка може да включва и съобщение „Искате ли да освободите заглавието сега?“ С опцията да щракнете или натиснете бутон, за да преминете към следващата стъпка. Подкани с края на задачата като тази помощ, за да се гарантира, че потребителите разбират правилния работен процес и им създават впечатление, че софтуерът им помага да вършат правилно работата си. Когато софтуерът прави потребителите по-ефективни, той преминава дълъг път към изграждане на доверие. Всички обичат софтуер, който ги прави да изглеждат добре!

Справете се с грешки в своето приложение за блокчейн с клас

Срещайте се, случват се грешки. И понякога тези грешки са големи. Надяваме се, че сте открили всички големи грешки в софтуера си по време на тестване. (Направихте изчерпателен тест, нали?) Ако го направите, повечето от грешките, които срещате в производството, ще бъдат потребителски грешки.

Когато се справяте с потребителски грешки, опитайте се да избягвате известията, които изтънчено казват „Забъркали сте!“ Съсредоточете се върху разрешаването на ситуацията, а не да повдигате вина.

Вероятно си спомняте, че сте използвали първото си GPS устройство в кола. В първите дни на GPS, ако сте се отклонили от предложения маршрут, чухте доста строго съобщение „Rerouting“. Гласът може също да е казал: „Не ходиш там, където ти казах. Изчакайте, аз ще ви кажа как да се върна към това, което ви казах. ”Съобщенията за грешки трябва да информират потребителите за случилото се, но да се съсредоточат върху това какво да правят по-нататък. Да, GPS направи това, но по принцип беше след едва доловима кавга. Не се скарайте на потребителите си.

От друга страна, не прекарвайте твърде много време, фокусирайки се върху грешки. Прекалено многословните съобщения за грешки могат да бъдат объркващи и да отнемат твърде много време за четене. Стигнете до точката. Винаги проектирайте работата с грешки от гледна точка на потребителя. Дайте на потребителите всичко необходимо, за да реагират бързо и решително на грешки и нищо повече.

Съобщенията за грешки помагат на крайните потребители да разберат какво се случва и също така помагат на персонала за поддръжка, когато отстраняват проблеми. Проектирайте вашата система за съобщения за грешки, така че тя да предоставя необходимите потребителски съобщения, както и повече подробни съобщения при поискване за отстраняване на проблеми и разследвания.

Не забравяйте, че blockchain е неизменен, така че всички грешки, които го превръщат в блок, винаги ще има. Вашият dApp трябва да разрешава потребителските проблеми с данните, преди да съхранява тези данни в blockchain. Номерът на работа с грешки е да насочите потребителите към правилното решение, без да ги забавяте. Това изисква внимание кои са вашите потребители, как използват вашия dApp и от какво се нуждаят, за да разрешат проблем. Една от вашите дизайнерски цели трябва да бъде да предоставите справяне с грешки, които отговарят на нуждите на вашите потребители във всички случаи.

Функции за дизайн във вашето приложение за blockchain, които се фокусират върху действията на потребителя, а не върху данните

Функциите осигуряват действията на вашите интелигентни договори. Един от начините за разглеждане на смарт договорите е, че те са съставени от данни (съществителни имена) и действия (глаголи). По този начин създаването на интелигентни договори улеснява тяхното описание и дизайн и обикновено води до приложение, което протича добре от гледна точка на потребителя.

Тъй като всички приложения съществуват, за да отговарят на изискванията на някои потребители, има смисъл да се проектира софтуер в светлината на потребителя. На най-високо ниво, ако потребителят иска да създаде нова поръчка, трябва да започнете с функция, наречена createNewOrder (). Можете да промените нещата, докато усъвършенствате дизайна си, но стартирането с потребителска гледна точка помага да се запази автентичността с целите на софтуера. Проектирането на технически компоненти, които отговарят на потребителските цели, също помага да се избегне твърде далеч от функционалните цели на високо ниво.

Много от днешните организации за разработка на софтуер зависят от методите, които започват с потребителски истории. Като разработчик ще бъдете помолени да създадете софтуер, който изпълнява изискване, което изглежда като „Като потребител, искам да ____. -в празен текст от предходното изявление), е добра дизайнерска стратегия за създаване на удобен за употреба софтуер.

Всяка функция не трябва да се преобразува директно с действията на потребителя, но функциите ви на високо ниво трябва да изглеждат така, че да удовлетворяват потребителските истории. Винаги ще са ви нужни функции, ориентирани към по-ниско ниво или ориентирани към данни, за да изпълните техническите стъпки на всяка задача. Добре е, ако тези функции не се свързват директно с потребителските истории. Но вашите функции от по-ниско ниво трябва да играят части във функциите, с които потребителите взаимодействат. Като много общо правило, вашите обществени функции трябва да приличат много на реакции от потребителска история.

Съхранявайте данни от приложението blockchain въз основа на действията на потребителя, а не на структури от данни

Потребителите може да не взаимодействат директно с данни, но все пак трябва да се опитвате да организирате данни въз основа на потребителските изисквания. Тази обща цел е повече правило. Използвайте тази цел, когато първоначално проектирате изискванията за вашите интелигентни договори. Вероятно ще трябва да прецизирате дизайна и да го промените, но като започнете с данни, картографирани по заявки на потребителя, помага софтуерът ви да остане верен на потребителските изисквания.

Например, ако проектирате софтуер за създаване и поддържане на поръчки, започнете със структурата на твърдост Solidity, която определя поръчката по начина, по който потребителят я вижда. Поръчката може да бъде колекция от полета, които я описват, като номер на поръчка, дата на поръчка, поръчка на клиента, инструкции и списък с редове за поръчка. Редките за поръчка съдържат полета като номер на продукта, цена и количество. Можете да дефинирате това като структура от променливи и списък на структури от реда за ред.

Независимо от техническите подробности за това как определяте данните, основната цел на тази цел е да разгледа как потребителите ще използват данните и да се опита да представи данните по този начин. Ако правите поръчки директно достъпни за потребителите, за да насърчите прозрачността на вашия софтуер, искате да направите поръчките възможно най-лесни за достъп. Не искате да насърчавате прозрачността и след това карате потребителите да работят усилено, за да разберат какво означават вашите данни. Осигуряването на лесен достъп до данните и разбирането ще изгради още повече доверие.

Поддържайте простото си приложение за blockchain

Имате много неща, които трябва да вземете предвид при проектирането на dApp. Въпреки че фокусирането върху потребителите трябва да помогне за директни дизайнерски решения, тенденцията е да се опитва да отговори на всички нужди на потребителя. Ако оставите без проверка, това желание да го направите всичко ще направи вашия софтуер прекалено сложен и труден за използване. Предоставянето на много възможности на потребителите в началото звучи като добра цел, но претоварен потребител няма да хареса (или използва) вашия софтуер.

Всеобхватната поговорка „пазете я просто, глупава“ все още е актуална. Това е строго напомняне, че простотата е много по-умна от сложността. Може би сте чували, че „обърканият ум винаги казва„ не “, но искате вашите потребители да приемат и използват вашия dApp. Искате те да открият, че вашият софтуер ги прави по-ефективни и ефикасни. За да постигнете тези цели, трябва да направите разбирането и използването на вашия софтуер лесно и ясно.

Простотата започва с потребителския интерфейс, но не спира до там. Всеки аспект на функционалността и дизайна на вашето приложение трябва да бъде възможно най-прост. Не се опитвайте да правите прекалено много. Вместо това определете това, което вашите потребители се нуждаят и искат най-много, и направете това. Поставете приоритет на функционалността, която ще накара вашия софтуер да изпъкне. Простата му отнема повече работа, но често води до фокусиран и последователен продукт, който потребителите ще използват.

Очаквайте достъпът до blockchain да е скъп

Друга удобна цел на дизайна, която ще ви помогне да избегнете преработката след разработката, е да се преструва от самото начало, че съхраняването на данни в blockchain е скъпо. Защото в действителност е така. За мнозина, които започнаха да програмират обратно, когато Y2K беше далеч в бъдещето, съхранението днес е много по-евтино, отколкото преди. Повечето разработчици днес не трябва да се притесняват за размера на данните или къде да ги съхраняват. Blockchain променя всичко това. Сега, вместо да имате на разположение тонове евтино и бързо съхранение, трябва да плащате, докато отидете.

Скъпото съхранение не е ново нещо в blockchain, но може да бъде лесно да се забрави. Ако си припомните, че съхранението е скъпо в началото, ще е по-вероятно да помислите за възможностите за съхранение по-задълбочено.

Например, трябва ли да съхранявате града и държавата, където ще бъде доставен продукт? Градът и щата са зависими от пощенския код (или пощенския код в по-общи настройки). Можете да съхраните пощенския код в адреса за доставка и след това просто да потърсите съответния град и щат, използвайки онлайн API по време на изпълнение.

Разделянето на данни като примера с пощенски код може да няма смисъл за приложението ви, но винаги ще се възползвате от обмислянето на вашите опции за съхранение на данни. Най-скъпите опции за съхранение почти винаги са резултат от лошо планиране на дизайна. Не проектирайте blockchain dApps по същия начин, по който създавате традиционни приложения за бази данни. Те просто не са еднакви. Дизайн с различен начин на мислене и ще получите по-добър софтуерен продукт.

Стойте далеч от пътя на потребителя на blockchain

Доброто приложение за блокчейн отговаря на най-важните нужди на потребителя по начин, който им помага да бъдат по-ефективни и ефикасни. Вашият дизайн обаче трябва да отчита не само това, което прави приложението ви, но и това, което не прави.

Всяко приложение има ограничения и ограничения. Тази цел на дизайна се фокусира върху друго нещо, което приложението ви не прави: не става по начина на потребителя. Просто казано, приложението ви трябва да помага на потребителите, а не да ги забавя. Вашият потребителски интерфейс трябва да помага на потребителите да вършат работата си, а преходите между елементите на потребителския интерфейс трябва да бъдат интуитивни и поучителни, когато е необходимо.

Понякога ще трябва да вземате данни от потребителите и след това да ги съхранявате в blockchain. (Спомняте ли си, че това е скъпо, нали?) Тъй като знаете, че ще накарате потребителите да плащат за съхраняване на данни в blockchain, не ги карайте също да го чакат. Когато е възможно, оставете вашите потребители да правят нещо продуктивно, докато функцията, която обработва техните данни, работи на заден план. Това може да е добро място във вашия код за използване на събития.

Направете всичко възможно, за да не станете пречка за вашите потребители. Никой не обича да чака. Дизайн с мисъл и вашият продукт ще има много по-голям шанс да задоволи нуждите на вашите потребители.