Имеет ли значение язык, на котором написан чейнкод гиперледжера?

Я пытаюсь разработать чейнкод в гиперледжере. Я знаю, что кабина с цепным кодом будет разработана либо на java, либо на узле js. Мой вопрос: имеет ли значение, на каком языке я разрабатываю чейнкод?


person Faith Devlin    schedule 11.05.2020    source источник
comment
Вы можете обратиться к stackoverflow.com/questions/45343169/.   -  person RAJ SINGH    schedule 12.05.2020


Ответы (2)


При рассмотрении вопроса о том, на каком языке писать чейнкод, я обычно видел, как организации задают себе следующие вопросы:

  • Какой язык имеет наиболее зрелый SDK/поддержку?
  • Какой язык вызывает у разработчиков наибольший интерес/легкость найма?
  • Какой язык обеспечивает наибольшую безопасность?

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

Учитывая эти вопросы, вы можете оценить три языка (go, nodejs, java), которые поддерживает чейнкод, следующим образом:

  • Golang имеет наиболее зрелый SDK/поддержку. Fabric написан на Go и считает Go первоклассным гражданином во всех тангенциальных проектах; поэтому он часто считается первым и наиболее обновленным языком, когда речь идет о поддержке Fabric.
  • Для NodeJS, вероятно, легче всего найти таланты, и он уже является широко популярным языком, а это означает, что чейнкод обычно будет наиболее доступным, если он написан на NodeJS. Первый разработанный и самый популярный SDK Fabric (без чейнкода) — это nodejs, поэтому они очень хорошо сочетаются друг с другом. Конечно, у Java, вероятно, столько же, если не больше, доступных разработчиков, но я считаю его вторым здесь, поскольку он гораздо меньше поддерживается.
  • Golang и Java являются строго типизированными языками и обеспечивают гарантии, которые дают такие языки. Java также приносит с собой многолетний производственный опыт и безопасность. Оба они выигрывают, когда дело доходит до языковой безопасности, по сравнению с языками с динамической типизацией и компиляцией JIT, такими как nodejs.

TL;DR: Golang имеет надежные гарантии безопасности и наиболее широко поддерживается, NodeJS проще написать и найти разработчиков, для Java сложно продать

person ajp    schedule 13.05.2020

Я бы предложил использовать GoLang, так как это очень эффективный и мощный язык с точки зрения производительности и масштабируемости.

person Bibek Poudel    schedule 11.05.2020