Основната причина Blockchain Technology да получи своето място сред най-добрите технологии е поради децентрализирания си характер. Докато основната цел на Blockchain беше да поддържа записи на транзакции без централен орган, за да автоматизира това, Интелигентни договори бяха въведени. Но какво след това ? В този урок на Ethereum Smart Contract ще видим как да го използваме Трюфел Ethereum и Частна мрежа на Ethereum за изпълнение на интелигентен договор.
Интересувате ли се от развитието на Ethereum? Вижте това на живо .
Ще разгледаме следните теми в този урок на Ethereum Smart Contract:
- Случай за употреба: Интелигентни договори в застрахователен процес
- Предимства на интелигентните договори
- Инсталиране на предварителни изисквания
- Конфигуриране на Genesis Block
- Стартиране на частната мрежа Ethereum
- Създаване на Ethereum акаунт
- Създаване на Ethereum Smart Contract
- Изпълнение на Ethereum Smart Contract
Случай за употреба: Интелигентни договори в застрахователен процес
„Без централен орган“ е това, което Blockchain следва и това е причината да бъдат въведени интелигентните договори. Замисляли ли сте се някога как може да се използва интелигентен договор? Е, в този раздел на Ethereum Smart Contract ще обясня случай на използване на Smart Contract в застрахователен процес.
Нека разгледаме пример за застраховка „Закъснение на полет“. Да предположим, че искате да вземете полет от източник А до местоназначение С, но нямате директен полет. И така, решавате да вземете свързващ полет (през B). Сега вашият маршрут ще бъде от A до B и след това от B до C, където B е летището, където ще сменяте полетите. За съжаление нямате много времева разлика между полетите от A до B и от B до C. Така че, ако случайно полетът от A до B се забави, тогава ще пропуснете полета от B до C. Вие осъзнайте това и просто, за да се спасите от тежки загуби, правите застраховка за забавяне на полета.
Сега, ако полетът ви от А до В е закъснял (което ще ви накара да пропуснете полета от Б до В), ще ви бъде платена застрахователната сума. Нормалният начин, по който това работи, е, ако вашият полет е забавен, вие претендирате за застраховката. След това някой човек ще провери и одобри застраховката и накрая ще получите вашата застрахователна сума. Но това е доста продължителен процес.
Как можете да използвате интелигентни договори за подобряване на застрахователния процес?
Що се отнася до финансовите транзакции и особено когато получавате пари, „колкото по-бързо, толкова по-добре“, нали? Така че, нека да видим как интелигентните договори могат да ускорят застрахователния процес. Интелигентните договори са цифрови договори, които се изпълняват автоматично, когато са изпълнени определени условия. Може да се напише интелигентен договор за изплащане на застрахователната сума на хората, които са избрали застраховка за забавяне на полета, ако полетът е забавен. Така че, когато полетът се забави и това закъснение се отчете от системата, застраховката се изплаща незабавно.
Здравей! застрахователна сума, платена за няколко секунди. Ето как простите и бързи интелигентни договори правят процеса да се случи.
Предимства на интелигентните договори
Видяхте в горния пример как Smart Contract може да ускори финансовите процеси. Освен бързите транзакции, интелигентните договори имат още някои предимства. Тук изброявам някои други предимства от използването на интелигентен договор:
- Автоматично: Всички стъпки в процес се извършват автоматично със Smart Contracts
- Няма междинни продукти: Когато използвате интелигентни договори, не ви е необходим междинен продукт, за да свършите работата, тъй като всичко ще бъде обработено от интелигентни договори
- Рентабилен: Използването на интелигентни договори ще ви спести пари за такси за транзакции, начислени от банките, и такси за услуги от междинни продукти (ако има такива)
Сега, след като знаем как Smart Contracts могат да бъдат използвани, за да направят света по-бързо място, нека да стигнем до практическата част на този урок Ethereum Smart Contract.
Инсталиране на предварителни изисквания
За този урок на Ethereum Smart Contract ще са ни необходими 5 важни приложения:
- NodeJS
- NPM
- Ethereum
- Трюфел
- Компилатор на Solidity
Инсталиране на NodeJS
NodeJS е JavaScript Framework, който се използва за изграждане на сървърни приложения. Тъй като използваме частна мрежа, NodeJS ще улесни изграждането на мрежовото приложение.
За да инсталирате Nodejs, изпълнете следната команда във вашия терминал:
$ sudo apt-get инсталирате nodejs
Инсталиране на NPM
NPM означава Node Package Manager и се използва за стартиране на Nodejs приложения.
За да инсталирате NPM, изпълнете следната команда във вашия терминал:
$ sudo apt-get инсталирайте npm
Инсталиране на Ethereum
Ethereum е с отворен код и публична блокчейн базирана, разпределена изчислителна платформа за изграждане на децентрализирани приложения.
За да инсталирате Ethereum, изпълнете следната команда във вашия терминал:
програма от серия на Фибоначи в Java
$ sudo apt-get инсталиране на софтуерни свойства-често $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum
Инсталиране на трюфел
Truffle е среда за развитие, рамка за тестване и тръбопровод за активи за Ethereum Blokchains.
За да инсталирате Truffle, изпълнете следната команда във вашия терминал:
$ npm инсталиране -g трюфел
Инсталиране на Solidity Compiler
Solidity е език за програмиране, използван за писане на интелигентни договори. За да стартираме интелигентни договори в нашата система, трябва да инсталираме Solidity Compiler.
За да инсталирате Solidity Compiler, изпълнете следната команда във вашия терминал:
$ sudo npm install -g solc
Конфигуриране на Genesis Block
Genesis Block е началната точка на Blockchain и ние се нуждаем от genesis файл, за да стартираме Blockchain. В този раздел на Ethereum Smart Contract ще напишем Genesis файл и ще го конфигурираме, за да ни позволи да стартираме Smart Contracts.
Нека първо създадем нова директория и след това в нея ще създадем файл за генезис
$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json
Сега въведете следните редове в genesis.json файл:
{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'трудност': '200' 'gasLimit': '99999999999999'}
Запазете това и излезте.
Стартиране на частната мрежа Ethereum
В този урок на Etheruem Smart Contract ще внедрим Ethereum Smart Contract в частна мрежа. Така че, за да стартираме тази мрежа, ще използваме следната команда:
$ geth --datadir ./dataDir init ./genesis.json
$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'
Преди да продължа напред, нека да обясня някои важни флагове, използвани в горната команда:
datadir: Директорията, в която се съхраняват данните, свързани с Blockchain.
rpc: Активира HTTP-RPC сървър.
rpcport и rpcaddr се използват за задаване на порт и адрес на мрежата съответно.
rpcapi: Позволява ни да взаимодействаме с мрежата Ethereum, използвайки различни API.
Свързване на Geth към Ethereum Private Blockchain
Конзолата Geth е конзолата, от която можем да взаимодействаме с частния блокчейн Ethereum. За да свържете Geth с Ethereum Private Blockchain, отворете нов терминал и изпълнете командата по-долу:
$ geth прикачете http://127.0.0.1:8543
Сега сме в конзолата Geth, където можем да изпълняваме команди за взаимодействие с Blockchain.
Създаване на Ethereum акаунт
За да извършим някаква транзакция, се нуждаем от акаунт. В този раздел на урока за Ethereum Smart Contract ще видим как да създадем нов акаунт в Ethereum от конзолата Geth.
масив от обекти в java
Следвайки стъпките до момента, вече сме в конзолата Geth. За да създадете нов акаунт, изпълнете следната команда в конзолата Geth:
> personal.newAccount ('seedphrase')
Заменете „семенна фраза”С паролата, която искате да зададете за този акаунт.
Създадохме нов акаунт, но този акаунт няма етери. Имаме нужда отетери за извършване на всякакви транзакции и за получаване на етерикъм нашата сметка ще започнем да добиваме етери. За да започнем майнинг, първо трябва да отключим акаунта. Нека отключим акаунта и започнем да копаем.
> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()
Тъй като добивът продължава да се случва, някоиетерище бъдат депозирани по тази сметка.
Забележка : Тези етери са манекени етери и нямат реална стойност.
За да проверите балансаетерив акаунта ще изпълним следната команда:
> web3.fromWei (eth.getBalance (eth.coinbase), „етер“)
Когато изпълнявате тази команда на равни интервали, ще видите, чеетерисе увеличават поради добива.
За да спрете добива, изпълнете следната команда:
> miner.stop ()
Създаване на Ethereum Smart Contract
Създаване на проект за трюфели
Сега, когато сме готови за частния си блокчейн, ще видим как да създадем Ethereum Smart Contract с помощта на Truffle. За този урок ще създадем прост интелигентен договор Ethereum „Hello World”.
За да започнем с това, нека първо създадем нова директория за съхраняване на проекта Трюфел. И тогава в тази директория ще създадем нов проект за трюфели. Отворете нов терминал и изпълнете командите по-долу:
$ mkdir трюфел $ cd трюфел $ трюфел init
The иниции за трюфели команда ще създаде всички необходими файлове, необходими за трюфелен проект.
Сега, когато имаме всичко, за да внедрим Ethereum Smart Contract готов, нека да напишем Smart Contract „Hello World“.
Писане на интелигентен договор „Hello World“
Всички договори трябва да бъдат написани в директорията „договори“. Ще преминем към тази директория и ще създадем договор с името „HelloWorld.sol” и ще добавим следните редове в този файл:
pragma солидност ^ 0.4.15 договор HelloWorld {низ публично съобщение функция Hello () public {message = 'Hello World!' }}
Това е то! Но този интелигентен договор не може да бъде изпълнен сам. Ще трябва да направим някои конфигурации за него.
Конфигуриране на миграция на трюфели
За да мигрираме нашия интелигентен договор, ще трябва да добавим файл в „Миграции“ директория в 'трюфел' директория. В тази директория ще добавим файл с име „2_deploy_contracts.js“ със следното съдържание в него:
var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = функция (разполагане) {deployer.deploy (HelloWorld)}
Запази и излез.
За да пуснем трюфел в нашата мрежа, трябва да редактираме „ трюфел.js ”Файл в 'трюфел' директория . Отворете този файл и въведете следните записи:
module.exports = {rpc: {host: 'localhost', port: 8543}, мрежи: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}
Забележка: Заменете „От“ адрес с адреса на акаунта, който сте създали в предишната стъпка.
Изпълнение на Ethereum Smart Contract
В този последен раздел на урок Ethereum Smart Contract ще видим как да разположим нашия интелигентен договор „Hello World“ в нашата частна мрежа Ethereum.
Компилиране и внедряване на интелигентен договор
Преди да можем да изпълним нашия интелигентен договор, първо трябва да го компилираме и внедрим в нашата частна мрежа Ethereum. Ще направим това, като използваме следните команди:
$ трюфел компилация
Сега трябва да отключим акаунта си и да започнем да копаем. Върнете се в терминала с конзолата Geth и изпълнете следната команда:
> personal.unlockAccount (web3.eth.coinbase) > miner.start ()
и след това се върнете към терминала, който има 'трюфел' като настоящата работна директория ибягайследната команда:
$ трюфел мигрира
Изчакайте разгръщането да приключи.
Изпълнение на интелигентен договор за частен блокчейн Ethereum
За да изпълним интелигентния договор „Hello World“, ще трябва да влезем в конзолата за трюфели. Изпълнете следната команда, за да направите това:
$ конзола за трюфели
Вече ще бъдете в конзолата за трюфели. За да изпълните Smart Contract, изпълнете следната команда:
> var first_contract> HelloWorld.deployed (). след това (функция (екземпляр) {first_contract = instance})> dApp.message.call ()
Честито! Създадохте първия си Ethereum Smart Contract и го изпълните. Надявам се, че този урок за Ethereum Smart Contract е информативен и ви е помогнал да разберете как да изпълните Ethereum Smart Contract. Сега продължете и опитайте да напишете други интелигентни договори и да ги изпълните.
Имате въпрос към нас? Моля, публикувайте го на и ние ще се свържем с вас.
Ако искате да научите Blockchain и да изградите кариера в Blockchain Technologies, тогава разгледайте нашата което се предлага с обучение под ръководството на инструктори на живо и опит в реалния живот на проекти. Това обучение ще ви помогне да разберете изчерпателно какво е Blockchain и ще ви помогне да постигнете майсторство по темата.