На чём пишут Blockchain проекты?
Какие языки программирования чаще всего используются в Blockchain проектах?
Суровым гуру просьба не возмущаться. Я понимаю, что можно писать такие проекты на чём угодно. Интересует практический расклад, который сложился в направлении Blockchain и что там реально обычно используется.
26 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівна блокчейні
-
github.com/seredat/karbowanec
Пиши на Haxe :)
Транслируй во что угодно. Например, в С++ и будет блокчейн, написанный на С++. А когда надоест, то можно странслировать все в JS и запустить под NodeJS. Или даже в Python. А когда и оно надоест, то можно в Java, потом в C#, а потом даже в PHP. Есть еще некоторые экзотические варианты, но то вже таке...
Вот, я когда-то делал по уроку «блокчейн в 200 строк»:
i.imgur.com/He0xLnv.png
с++ если смотреть исходники популярных проектов.
twitter.com/...atuses/963506471513313285
habrahabr.ru/post/347930 А вообще можно на чем угодно написать...
На MacBook Pro последнего года :)
Если пройтись по гитхаб репам популярных реализаций блокчейна то в основном используется C/C++ и Golang.
Python )
Вещь ответственная. Лучше брать что-то очень надежное — Idris, Haskell. А если критична производительность — Rust или Ivory.
hackage.haskell.org/package/blockchain
На Go в 200 строк — medium.com/...-lines-of-go-e296282bcffc
Цікава стаття. Але не вистачає реалізації транзакцій.
jeiwan.cc/tags/blockchain
Так. Це набагато краща серія статей. Я сам по ній вчився.
Напевно потрібно розділити проекти на ті, де створюється свій блокчейн і на програмування смарт-контрактів на якомусь робочому блокчейні. Я бачу, що часто програмування смарт-контрактів називають «програмуванням блокчейна».
Я свій проект зробив на Go. Це простий клон біткоіна. Хотів розібратися як воно все працює. Вирішив, що найкраще написати самому з нуля.
Приватные решения:
Exomun — Rust;
Tendermint — консенсус на Go, Cosmos SDK на Go, кастомный можно писать на чём хочешь, там protobuf вроде или jsonrpc для связи логики и консенсус-движка;
С недоблокчейнами типа Hyperleddger и Fabric не работал.
Публичные:
Ethereum — написан на Go, для контрактов своя витртуальная машина EVM + язык Solidity
Bitcoin и его форки — C++
Ну а для работы с Ethereum и Bitcoin идёт jsonrpc, библиотеки почти на любых языках. Особенно популярны Python и JsNode.
На C#, всё можно написать на «Шарпе» !
Какие знают или любят — на тех и пишут.
На ДОУ недавно появилась категория вакансий
jobs.dou.ua/...cies/?category=Blockchain
Если посмотреть эти вакансии, то там упоминаются приблизительно такие языки или технологии (1 строчка — 1 вакансия):
Node.js
С++
C++, Go or Python
Java
Python, Go, JavaScript
Solidity, JavaScript or C#
PHP, Go, Ruby, Python, JavaScript
Solidity, Go, JavaScript, PHP
PHP, JavaScript, Python, C++, Solidity
Java
Java or Golang
Java
Solidity, NodeJS, Go, Python, C++, Java
Solidity, JavaScript
Node.JS
JavaScript
C/C++, Go
Golang or Python
Perl
Solidity, Node.js
C++/Rust, NodeJS
Go, JavaScript
тыжпрограммист :-)
C:\Users\sergiym\devel> type .\positions.txt | %{ $_.Split((',', '/', 'or'), [System.StringSplitOptions]::None).Trim() } | %{ $_.Replace('NodeJS', 'Node.js').Replace('Golang', 'Go') } | Group-Object | Sort-Object Count,Name | Select-Object Count,Name Count Name ----- ---- 1 C 1 C# 1 Perl 1 Ruby 1 Rust 3 PHP 5 Java 5 Node.js 6 C++ 6 Python 6 Solidity 8 JavaScript 9 GoСобственно, блокчейн — хайп, го — хайп. Всё складывается.
на bitcoine
Это не я, это кэп.