婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > AERGO SHIP:用于開發智能合約的包管理器

AERGO SHIP:用于開發智能合約的包管理器

熱門標簽:南召400電話辦理資費 鄭州中國移動400電話申請 去哪里辦卡 地圖標注植物名稱 地圖標注審核工作怎么樣注冊 福建ai電銷機器人加盟公司 無錫電銷機器人銷售 招聘信息 揭陽外呼系統公司 熱血傳奇沃瑪森林地圖標注

AERGO SHIP:用于開發智能合約的包管理器

用于構建、測試和部署分布式應用程序的客戶端框架和開發環境

構建大型分布式應用程序是很困難的,因為對其進行測試,使其實現端到端工作,并進行部署是一個非常耗時的過程。通過AERGO,我們計劃讓一切變得與眾不同。

AERGO是一個為在實現基于區塊鏈的系統和應用程序時面臨眾多獨特挑戰的企業提供解決方案的平臺。為了提高開發、測試和部署智能合約的效率和易用性,我們創建了SHIP。SHIP是Lua智能合約包管理器。它將本地開發環境與Git和分布式分類賬連接起來,從而大大減少了構建和管理智能合約所花費的時間。SHIP提供以下功能:

項目設置:在簡單的任務中完成開發準備。

從遠程存儲庫安裝軟件包:GitHub上的軟件包可以安裝在本地存儲庫中。

構建:結合(預處理)項目內部的資源來開發準備分發的產品。

單元測試:在上傳到網絡之前,您可以驗證新版本的功能是否符合要求。

部署到本地存儲庫:將已開發的項目安裝到本地存儲庫中,以供其他項目參考。

SHIP最基本的理念是簡潔;它輕巧而有效。目前版本的SHIP特意不包括廣泛的開發功能;但重要的是,SHIP是一個持續更新的項目。我們將從技術社區中獲取建議,并繼續添加被視為有價值的功能。

我們為什么要創建包管理器?

我們經常回顧歷史,以便提出假設。本月早些時候,Phil發表了一篇文章,解釋了我們基于Linux和Red Hat所取得的歷史性成功的開源執行方法。在開發分布式應用程序時,我們采用相同的方式創建了一個包管理器。

2009年至2014年,許多技術競相出現,形成了我們今天所知的現代網絡的年代。

需要注意的是,在創建JavaScript之后,1995年到2010年之間沒有引入構建或包管理工具。在開始使用JavaScript之后的15年里,在推進Web狀態方面幾乎沒有取得任何進展。然而,隨著2009年Node.js的發布,包管理器和捆綁包變得越來越普遍,從而可以創建新一代的動態網頁。Node.js的默認包管理器npm的創建實現了Web的快速發展。

2012年,Trello發布了一篇文章概述Trello Tech Stack。這篇文章介紹了許多技術,這些技術將使Web作為一個應用程序而不僅僅是一個頁面工作。它很好地概述了2012年之前網絡的進展及其在前幾年的快速發展。這種快速發展確實是由npm的創建引起的,減少了開發網頁所花費的時間。

就像npm之于Web一樣,SHIP旨在成為開發基于區塊鏈的應用程序和智能合約的關鍵點。SHIP將實現智能合約的開發、測試和部署無縫且高效。最終,SHIP將為AERGO提供吸引下一代dApp和企業區塊鏈開發人員所需的可用性,以創建一個蓬勃發展的開發者開源生態系統。

如何使用SHIP

要使用SHIP,您必須先下載并安裝以下程序:

Git
JDK 8+
Node.js
npm

構建SHIP

SHIP目前尚未正式發布。如果您希望使用SHIP,必須先構建它。SHIP使用下方的GitHub地址作為源存儲。

aergoio/ship

從GitHub獲取源代碼。(命令開頭的$顯示提示,如果系統root提示,則提示符為#)。

$ git clone

現在運行構建。第一次嘗試運行時,命令很長。

$ cd ship

$ ./build.sh clean deps npm assemble

成功完成后,您可以看到ship- $ VERSION.tar文件已在程序集/構建/分發中創建。

解壓縮此文件以安裝SHIP。

接下來,使用ship命令在PATH路徑中包含bin目錄。您可將.bash_profile添加到最后一部分。它可能會根據您的shell而發生改變。

export PATH=$PATH:$SHIP_HOME/bin

SHOP_HOME指的是解壓縮ship - $ {VERSION}目錄。安裝現已完成。

建立項目

我們現在正在建立一個智能合約開發項目。在所需位置為項目創建目錄。

$ mkdir my-first-project

在本文中,我將此位置稱為$ {PROJECT_HOME}

ship命令假定當前工作目錄即為項目目錄。讓我們將當前目錄移到項目中。

$ cd my-first-project

要將空目錄作為項目,您需要運行以下命令。

$ ship init

如果運行正常,則將在項目目錄中創建名為aergo.json的文件。aergo.json文件應如下所示:

{
“name” : “bylee/my-first-project”,
“source” : “src/main/lua/main.lua”,
“target” : “app.lua”
}

更改項目設置

有關該項目的信息存儲在aergo.json中。必要時,您可以編輯此文件。我們來看看這個文件的屬性。

name - 項目名稱:以$ {github_account} / $ {project_name}格式導入或將包放入存儲庫時使用此名稱。最初創建為$ {username} / $ {project_name}。如果您的用戶名和GitHub帳戶不同,則需要對其進行更改。

source – 將開始構建的源文件的路徑視為相對于項目文件夾的路徑。

target - 保存有構建結果的文件的路徑。編譯構建的文件,生成二進制文件和ABI并將其部署到AERGO服務器。

dependencies - 引用的包的名稱。包是指存儲庫中安裝的項目的類型。

tests - 測試源的路徑。顧名思義,這是一種數組類型。

endpoint - AERGO服務器部署和運行以進行集成測試的主機名和端口信息。 $ {hostname}:設置為$ {port}。默認值為“localhost:7845”。

由于當前狀態沒有變化,我們將繼續下一步。

編寫智能合約

現在,讓我們來編寫一段簡單的代碼。源是src / main / lua / main.lua。

function min(a, b)
if (a b) then
return a
else
return b
end
end

我寫了一個min函數,該函數選取了兩個數字并返回其中較小的數字。目前,AERGO支持的智能合約基于語言lua。讓我們來構建當前的源代碼。

$ ship build

如果沒有問題,則創建app.lua文件。如果打開此文件,它與src / main / lua / main.lua完全相同,因為您可能只有一個文件要創建。如果繼續修改源并查看其更改方式,則可以看到該構建如何組合文件。

此前,SHIP表示可以將多個文件合并為一個。現在,讓我們重構main.lua文件。您可以使用import命令從一個源引用另一個源。將min函數移到src / main / lua / utils.lua,將現有的main.lua替換為:

import “./utils.lua”

如果進行重新構建,則可以看到app.lua文件與之前相同。

創建單元測試

讓我們為剛創建的utils.lua中的min函數編寫一個單元測試。我們將在src / test / lua / test-utils.lua中編寫測試代碼。下一次如果有機會,我會更詳細地討論用于測試的API,這次僅顯示示例。

import “aergoio/athena-343”
local suite = TestSuite(‘test suite for utils.lua')
suite:add(TestCase(‘test min', function()
assertEquals(3, min(3, 4))
end))
suite:run()

在aergo.json中添加一個測試條目,告知SHIP這是一個用于測試的文件。

{
“name” : “bylee/my-first-project”,
“source” : “src/main/lua/main.lua”,
“target” : “app.lua”,
“tests”: [ “src/test/lua/test-utils.lua” ]
}

要運行測試,請運行以下命令:

$ ship test
ERROR : "Package aergoio/athena-343 not found: /Users/bylee/.aergo_modules/aergoio/athena-343/aergo.json"
When you run the test, you get an error because the aergoio / athena-343 that you use as a test framework is not installed. Now, let's install the package in github.
$ ship install aergoio/athena-343

實驗部分

增量構建

SHIP具有強大的構建能力。此功能可檢測項目中文件的更改,并對其進行自動構建和測試。

運行該函數需要構建命令的其他參數。

$ ship build –watch

如果運行沒有問題,則可以看到以下結果。這個例子是我的第一個項目。

如果您更改了源,則可以看到實時反映的構建和測試。

WebUI

此外,我們還提供一個Web服務,允許瀏覽器訪問以下附加端口選項。

$ ship build --watch --port 8080

構建結果

除了提供比終端所提供的更多細節之外,它還提供了額外的部署功能。此部署用于測試,因此它將轉到localhost上的端口7845。要使用此功能,服務器必須正在運行,并且必須在PATH中設置aergoluac命令。

單元測試結果

您還可以查看每個構建的測試結果,并且構建記錄還保存有過去的五個測試結果。

當您選擇Runner菜單時,會出現一個屏幕,您可以在其中實際運行已部署的功能。

結論

SHIP提供支持項目開發每個階段的功能,從設置到部署。它可以幫助開發人員從現有的編程方法中獲得結構化編程,從而使開發智能合約的過程更加無縫和高效。雖然SHIP還沒有足夠的功能,并且開發的某些方面可能還不夠簡便,但我們計劃與dApp開發人員合作,以確定有價值的東西,并在將來通過更好的功能實現這些價值。我們正在等待您的反饋!

如果您還不知道,我們最近推出了AERGO預測試網,并發布了AERGO平臺的Alpha代碼庫。您可以隨意啟動本地測試網絡,貢獻代碼。

標簽:南昌 宣城 景德鎮 桂林 鹽城 文山 東莞 黔南

巨人網絡通訊聲明:本文標題《AERGO SHIP:用于開發智能合約的包管理器》,本文關鍵詞  AERGO,SHIP,用于,開發,智能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《AERGO SHIP:用于開發智能合約的包管理器》相關的同類信息!
  • 本頁收集關于AERGO SHIP:用于開發智能合約的包管理器的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    av综合在线播放| 国产乱码精品一区二区三区忘忧草| 欧美三级欧美一级| 美女视频免费一区| 久久久精品黄色| 欧美在线影院一区二区| 国产专区综合网| 亚洲美女屁股眼交| 精品久久久久香蕉网| 99久久er热在这里只有精品15| 午夜成人在线视频| 中文无字幕一区二区三区 | 日韩视频一区在线观看| 成人综合婷婷国产精品久久| 亚洲成av人片一区二区三区| 国产欧美综合在线观看第十页| 欧美影视一区二区三区| 国产在线视频精品一区| 亚洲高清视频中文字幕| 中文字幕乱码久久午夜不卡 | 国产不卡视频在线播放| 亚洲一区二区三区小说| 国产日韩精品久久久| 欧美一区二区在线视频| 91碰在线视频| 国产经典欧美精品| 麻豆精品在线看| 亚洲国产精品影院| 1000部国产精品成人观看| 亚洲精品一区在线观看| 欧美久久一区二区| 色综合一个色综合| 国产精品一级黄| 午夜伊人狠狠久久| 中文字幕视频一区| 久久精品视频在线看| 91在线国产福利| 国产盗摄精品一区二区三区在线| 另类小说视频一区二区| 五月天网站亚洲| 亚洲一区二区精品3399| 亚洲欧洲精品一区二区三区 | 日韩欧美国产一区在线观看| 色嗨嗨av一区二区三区| 国产69精品久久久久毛片| 久久99国产乱子伦精品免费| 日韩成人午夜电影| 香港成人在线视频| 亚洲a一区二区| 亚洲国产三级在线| 亚洲在线免费播放| 一区二区三区欧美在线观看| 中文字幕成人网| 国产精品视频观看| 中文字幕精品综合| 26uuu另类欧美亚洲曰本| 欧美日韩成人在线| av亚洲产国偷v产偷v自拍| 99re这里都是精品| 91猫先生在线| 欧美亚一区二区| 欧美精品高清视频| 日韩欧美中文一区| 欧美本精品男人aⅴ天堂| 精品日韩成人av| 久久日一线二线三线suv| 国产视频一区二区在线| 日本一区二区免费在线观看视频 | 成人免费黄色在线| 成人免费看视频| 色国产精品一区在线观看| 欧美亚洲精品一区| 欧美日韩成人在线| 精品国产123| 欧美激情一区二区三区四区| 中文字幕一区视频| 国产精品久久久久久久久久久免费看| 国产欧美综合在线观看第十页| 337p粉嫩大胆色噜噜噜噜亚洲| 久久精品一区四区| 亚洲黄色av一区| 日韩国产在线一| 国产一区二区三区电影在线观看| 国产精品18久久久| 成人免费观看男女羞羞视频| 欧美在线免费播放| 91精品国产综合久久精品图片| 久久亚洲精精品中文字幕早川悠里| 国产女同性恋一区二区| 亚洲一区二区三区四区不卡| 奇米色777欧美一区二区| 国产精品一区二区久激情瑜伽| 99久久久久免费精品国产| 欧美性色aⅴ视频一区日韩精品| 日韩欧美国产综合在线一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 国产欧美一区二区精品秋霞影院| 中文字幕一区在线观看| 天天综合网 天天综合色| 国产成人综合亚洲91猫咪| 欧美在线观看你懂的| 久久综合九色综合欧美98| 又紧又大又爽精品一区二区| 蜜桃视频免费观看一区| 波多野结衣亚洲一区| 欧美精品 国产精品| 中文字幕不卡在线播放| 亚洲福利视频一区二区| 狠狠狠色丁香婷婷综合激情| 色婷婷av一区二区三区之一色屋| 欧美不卡在线视频| 亚洲一区二区成人在线观看| 国产精品99久| 日韩视频中午一区| 亚洲一区二区中文在线| 成人在线综合网站| 欧美一级专区免费大片| 夜夜嗨av一区二区三区中文字幕| 国内成人自拍视频| 欧美老女人第四色| 亚洲欧美日韩系列| 成人午夜在线播放| 精品国产一区二区三区久久久蜜月| 亚洲综合一区在线| 99久久国产综合精品麻豆| 久久众筹精品私拍模特| 亚洲成人一区在线| 成人美女视频在线观看18| 欧美三级在线看| 亚洲精品日韩综合观看成人91| 国产精品自拍av| 精品久久国产字幕高潮| 日本三级韩国三级欧美三级| 欧美日韩精品三区| 一级做a爱片久久| 色婷婷综合久久久中文一区二区| 国产农村妇女毛片精品久久麻豆 | 久久99精品国产.久久久久| 精品视频一区二区不卡| 亚洲美女视频在线观看| 99久久99久久综合| 国产精品乱码人人做人人爱| 成人美女在线观看| 中文字幕欧美区| 精油按摩中文字幕久久| 7777精品伊人久久久大香线蕉最新版 | 欧美在线综合视频| 一区二区三区丝袜| 欧美在线一区二区三区| 一区二区三区精品视频| 91久久香蕉国产日韩欧美9色| 最好看的中文字幕久久| 国产91精品欧美| 日韩一卡二卡三卡国产欧美| 另类小说视频一区二区| 欧美tickle裸体挠脚心vk| 国产一区视频网站| 国产亚洲一区二区三区四区| 国产精品一区不卡| 国产精品国产三级国产a| av激情成人网| 亚洲成精国产精品女| 91精品国产乱| 日韩精品免费专区| 欧美tickling网站挠脚心| 日韩影院免费视频| 精品国产制服丝袜高跟| 国产suv精品一区二区883| 亚洲国产视频一区二区| 久久久久久影视| 欧美日韩国产高清一区二区三区 | 欧美性色黄大片手机版| 精品一区二区免费看| 亚洲美女免费视频| 精品三级在线看| 色综合久久九月婷婷色综合| 久久99精品一区二区三区| 亚洲人成精品久久久久| 精品国产乱码久久久久久老虎| 99精品视频一区二区三区| 久久99精品久久只有精品| 亚洲精品菠萝久久久久久久| 久久久久久久久久美女| 欧美精品在欧美一区二区少妇| 成人av在线电影| 久久se这里有精品| 亚洲第一会所有码转帖| 国产日韩欧美麻豆| 日韩一区二区三区免费观看| 色综合天天综合网国产成人综合天| 久久国产欧美日韩精品| 亚洲国产sm捆绑调教视频| 国产精品天天看| 亚洲精品在线电影| 91精品国产91热久久久做人人| 97久久精品人人做人人爽| 国产精品888| 卡一卡二国产精品| 日韩高清不卡一区| 亚洲图片一区二区|