比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

沒有軟件開發背景的人也能參與智能合約開發?Blocks可能真的能夠實現_BLOC

Author:

Time:1900/1/1 0:00:00

Blocks是一個在線可視化節點編輯器,它簡化了在Internet計算機上構建去中心化應用程序(dapp)的學習曲線。

下面是如何構建Blocks的故事,用戶可以用它做什么,以及Blocks計劃從這里走向何方。

智能合約是一種直接運行在區塊鏈或類似P2P網絡上的軟件。這通常與以太坊區塊鏈及其“Web 3.0”dapp有關,其中一些app在2018年初獲得了病式新聞報道,如CryptoKitties。

OpenSea是一款極受歡迎的 dapp,月 NFT 交易量超過 15.4 億美元

對于現實世界的應用程序來說,dapp正變得越來越實用。雖然以太坊網絡確認每筆交易至少需要5分鐘,但最近的一個名為Internet Computer (IC) 的競爭對手可以在大約 1-2 秒內處理請求。對于去中心化軟件的未來,這是一個很有希望的跡象,在所有區塊鏈生態系統中,已經有數百個dapp使用了IC技術棧。

軟件工程的基本目標是定義清晰的、易于理解的業務邏輯來解決給定的問題。我們通過創建抽象層來做到這一點,相當于說“做一個花生醬三明治”,而不是“拿兩片面包,把它們放在桌子上,打開一罐花生醬”,等等。這些高級的描述使得重用、組合、記錄和測試軟件變得更加容易。

Immutable聯創:公司對Silvergate和硅谷銀行沒有敞口:金色財經報道,Immutable聯合創始人Robbie Ferguson發推稱,“Immutable對Silvergate和硅谷銀行(SVB)沒有敞口,我們在銀行持有2.8億澳元(約合1.84億美元,主要以USD形式),并且不使用財務杠桿。”[2023/3/10 12:54:02]

在Blocks編輯器中已經實現的一些簡單的加密功能

可視化編輯器通常用于連接以傳統編程語言編寫的高級模塊。這些環境使非技術用戶能夠理解程序的邏輯,同時還可以作為強大的學習工具和底層代碼庫的參考點。

特別是在區塊鏈dapp開發領域,每一行代碼都必須仔細檢查可能存在的漏洞。任何一個錯誤或疏忽都可能給項目帶來災難,這使圖形編輯器在發現安全問題和鼓勵更好的代碼封裝方面非常實用。

去年,在用戶體驗(UX)設計課上對視覺編輯器進行了實驗,我學到了一些意想不到的東西:dapp或智能合約開發幾乎沒有相同的編碼風格。快速搜索一下瀏覽器,你會發現有一個簡單的拖放編輯器,叫做EtherScripter,還有廢棄的登陸頁面,比如SmartChain和HyperLedger Composer,很明顯,這些項目目前都不能用于構建和部署真實世界的智能合約。

然而,這顯然引起了市場的興趣。2018年,Erik Marks寫了一篇Medium文章,名為《圖形智能合約編輯器的案例》(The Case for graphics Smart Contract Editors),他在文中呼吁開發者嘗試解決基于視覺流編輯器的用戶體驗問題。例如,Erik強調了一個幾乎普遍存在的問題,即“對于技術用戶來說,它們不如文本方便,而對于非技術用戶來說,它們很難被理解。”我個人經歷過這兩種問題,并很快意識到極短的用戶反饋循環將是一個新的可視智能合同編輯器成功的關鍵。

央行MLF操作點評:沒有MLF降息,LPR利率調降的概率不大:7月15日央行開展1000億元中期借貸便利(MLF)操作和100億元逆回購操作,利率均維持不變。國泰君安認為,沒有MLF降息,LPR利率調降的概率不大。從邏輯上來說,如果沒有預期MLF降息,就降了LPR利率,那相當于銀行自己革自己的命——存貸款息差空間越來越小,傳統業務的利潤也越壓越薄。這也解釋了為什么過去連續14個月,LPR的點差都沒能進一步壓縮。[2021/7/15 0:54:03]

為了最大限度地創造一些對用戶友好的東西,我進行了一個生成式研究,由來自學術、專業和非技術背景的六個人組成。在每次采訪中,我都要求參與者探索Motoko Playground (Motoko智能合約的在線代碼沙箱)和Unreal Engine Blueprint,一種流行的可視化節點編輯器,在必要時只給出最少的指示。

通過Motoko Playground部署的示例智能合約

UE4 藍圖中Blocks編輯器的概念驗證模擬

雖然每個人對這些應用程序的理解都略有不同,但我被許多參與者意想不到、和非常具體的反饋所吸引。例如,雖然我沒有注意到或介意Motoko Playground上的工具欄是不可調整大小的,但一些用戶提到這對他們來說是一個主要問題。最終,我找到了共同點:他們使用的是屏幕空間相對有限的筆記本電腦。

這些見解讓我真正體會到作為軟件工程過程一部分的用戶體驗研究的力量。特別是在開發一個非常非傳統的用戶界面時,我很驚訝地發現,從簡單地詢問幾個人20分鐘的時間中,我學到了多少東西。

BKEX市場負責人:我們與BOOK項目沒有關系:近日,網絡上出現“BOOK項目是BKEX交易所搞得,所有挖礦的人都需買此幣才能參與挖礦”的不實言論。對此,BKEX市場負責人表示,網上所傳皆為不實消息,BKEX交易所與BOOK項目沒有關系。[2021/3/1 18:03:29]

以下是我們所學到的總結:

說到視覺編輯器,形式就是功能。鍵盤快捷鍵和符合人體工程學的設計決定了工作流程的成敗,類似于基于文本的 IDE。

自然語言比代碼語法和標識符更容易被理解。

人們總是想要更多的例子!應該提供最常見的用例,作為模板。

實時反饋/評估循環對于探索性學習至關重要。

在這個過程中,Blocks獲得了25,000美元的DFINITY開發贈款。

以下是我們早期的應用路線圖:

以下是我們與UE4 Blueprint、Motoko Playground和Remix IDE的beta版特性的比較:

我們還使用了以下的HMW問題來進一步細化計劃中的功能列表:

我們如何幫助軟件工程社區關于中心化和非中心化應用程序之間的權衡?

我們如何讓dapp開發對非區塊鏈開發者來說更平易近人?

朝鮮副外相:沒有必要與美方談話已制定管控美國長期威脅的方案:據朝中社4日報道,朝鮮外務省第一副相崔善姬發表談話稱,在美國的眼里,朝美對話是處理其危機的工具,朝方沒有必要與美方坐到一起談話。崔善姬表示,美國不應企圖以“協商”來動搖朝鮮,朝鮮已經制定了管控美國長期威脅的具體方案。(央視新聞)[2020/7/4]

我們該如何減少Solidity或Motoko等智能合同語言的學習曲線?

由于目前的開源可視化流程編輯器庫文檔和維護都非常少,所以我花了幾天時間研究各種替代方法,以找到最適合這個項目的方法。

Node-RED — 被一個類似的廢棄項目使用;非常固執己見的

React Flow — 美麗的流程圖庫React;類似于Node-RED的用例

LiteGraph — 奇妙的內置小工具;作為一個數據流編輯器而不是AST生成器

Rete—受歡迎和相對不受束縛;功能強大,但需要自定義鉤子和配置

Flume— 一個更新、更閃亮、更加流行的Rete.js替代品;缺少一些重要的特性,比如自定義樣式

我們最終決定使用Rete.js生態系統,從而形成了當前的技術堆棧:

GitHub— 問題跟蹤,項目管理,托管,CI

Husky — Git提交/推送鉤子

Webpack — 構建系統

Jest — 測試庫

ESLint , lint-staged — 代碼風格執行

React— 渲染框架

Bootstrap — 風格約定

Sass,樣式化組件—對Bootstrap的補充

江卓爾:沒有持有任何平臺幣:江卓爾今日凌晨發微博稱,我不持有任何平臺幣。一是因為我不喜歡資產被別人捏在手上,價值因為別人修改規則而改變。二是因為平臺幣不像比特幣一樣,有提到鏈上的必要,如果平臺倒閉了,那提出來的平臺幣也就一文不值;平臺捏著幾乎無限量的平臺幣,隨便用個交易策略(例如網格交易法),從數學上就不可能輸。[2020/3/2]

Feather — 干凈,簡約的圖標

Rete — 節點和連接渲染邏輯

Monaco — 語法突出顯示的代碼編輯器

WebAssembly — 靜態智能合約驗證

I互聯網計算機的可視化低代碼環境將減少最初的學習曲線,并使生態系統對新開發人員更容易接近。

為了在實現上取得進展,我們開始同時地設計和開發。為了讓用戶了解這個項目在過去幾個月里的發展情況,下面是一些以前版本的編輯器的截圖:

Blocks編輯器的一個非常非常早期的原型

Nate創建的早期中保真模型?

當我專注于編輯器工作流、編譯器功能和區塊實現時,Nate貢獻了主題、圖形和項目的登錄頁面。由于功能和用戶體驗對于可視化編輯器都是至關重要的,因此我們的技術專長最終為這個項目帶來了高效率。

一個使用帶有可選鮮艷邊框的深色主題的簡單示例

使用受 UE4 啟發的灰色主題的稍微復雜一點的示例?

從To-Do List示例生成的Motoko源代碼

我們的第一輪用戶測試比我想象的要有用得多。在這一點上,應用是基于Unreal Engine Blueprint,所以我們希望用戶有類似的期望和反應。相反,我們最終發現了一些問題和解決方案,這些問題和解決方案允許我們推動我們的用戶體驗超越大多數可視化節點編輯器的現狀。

首先,盡管編輯器包含基于類型的智能區塊建議,但大多數用戶并沒有意識到這是如何工作的,而是痛苦地在全局放置菜單中搜索每個區塊。與我們的直覺相反,通過移除這個全局菜單并強迫用戶使用我們的上下文建議,我們成功地提高了用戶的學習速度和整體生產力。

類型套接字的上下文塊建議

我們的許多alpha測試人員都沒有使用可視化節點編輯器的經驗。雖然來自 Blender 或 Unreal Engine 的顏色編碼輸入/輸出套接字連接是有意義的,但一些用戶無法理解哪些套接字相互兼容。底層類型系統加劇了這種混亂,其中一些顏色在特定方向上相互兼容。我們發現,通過在拖拽連接時添加清晰的視覺指示,用戶可以很容易地理解哪些套接字是兼容的,而不需要理解顏色或連接規則。這是用戶體驗的一個范式轉變,需要被其他視覺編輯器采用。

添加新連接時,兼容的套接字會變大。

Blocks編輯器還包括提供關于按鈕、節點和類型套接字的信息的工具提示。與類似的可視化編程環境相比,這是一個巨大的改進,一些用戶建議我們應該添加一個“學習模式”,它在應用程序的工具提示中包含更多的細節。隨著時間的推移,我們打算擴展這個概念,以便任何人都可以在不引用外部文檔的情況下使用Blocks。

解釋功能的工具提示

該編輯器的代數類型系統、透明的代碼生成和方便的工作流使用戶能夠設計出規模遠遠超過任何其他流行的可視化編程環境的智能合約。

我們用于創建簡單“Hello World”智能合約的交互式教程

這個項目的主要技術障礙是當前基于瀏覽器的可視化編輯器庫生態系統的狀態。雖然使用Rete.js進行快速原型制作很有幫助,但我們經常會遇到一些缺點,比如缺少控件定制和缺少undo/redo歷史記錄等功能。從這個經驗來看,我建議未來的基于瀏覽器的可視化編輯器從Rete.js的自定義分支開始,以保持對應用程序功能的完全控制。

我的總體個人目標是提高在線可視化編程環境的標準。雖然Blocks界面將使學習Motoko更容易,并利用Internet Computer進行智能合約開發,但我希望我們的一些UX發現最終也會在未來幾年內進入主流節點編輯器。

接下來的幾個月,Blocks的目標。

一鍵部署。我們不是將生成的代碼復制/粘貼到Motoko Playground這樣的運行時環境中,而是打算創建一個端到端工作流,用戶可以直接從編輯器中資助和部署智能合約。

實時評估。在學習一門新的編程語言時,立即對表達式求值的能力是一種改變游戲規則的能力。我們打算讓它盡可能容易地運行和測試用戶的項目在區塊編輯器。

更多的互動教程。我們的目標是讓那些沒有軟件開發背景的人也能訪問智能合約開發。在擴展我們當前的教程系統的基礎上,我們希望編輯器將成為區塊鏈和去中心化軟件開發的通用學習資源。

Source:https://levelup.gitconnected.com/how-we-created-blocks-an-online-drag-and-drop-smart-contract-editor-fe23eff4d933

Tags:BLOCLOCBLOCKSLOCKblockchain錢包進不去BLOCKvBitblocks Fire

以太坊最新價格
Deri Protocol 去中心化衍生品賽道的遺珠_USD

Deri Protocol 在產品機制上采用了「交易價格按照預言機成交,全體 LP 共同承擔兌付責任」,并且利用資金費率機制平衡裸頭寸.

1900/1/1 0:00:00
你需要了解 Solana 的 6 件事_SOL

大家好,歡迎來到白澤研究院。上期視頻,我們簡單討論了一下區塊鏈的概念、種類,以及今年下半年的公鏈之爭,那么從本期視頻開始,我們逐一對每一條新興公鏈進行解讀.

1900/1/1 0:00:00
解決客戶端多樣性問題的一個技術方案:小眾客戶端項目_MIN

截至發稿時,以太坊有多個客戶端實現,但 Geth / go-ethereum 作為一個多數客戶端脫穎而出,擁有 80%~90% 網絡占有率.

1900/1/1 0:00:00
Good Morning Café NFT中文解析_GOOD

一、項目簡介 元宇宙中最初最寒冷的咖啡館。Good Morning Café NFT 系列建立在寒冷和良好氛圍的堅固支柱之上.

1900/1/1 0:00:00
Nym是什么?_ING

瑞士納沙泰爾 - 2021年8月12日Nym代表著下一代隱私技術,由世界頂尖大學麻省理工學院、魯汶大學和倫敦大學學院的一些全球領先的研究科學家和開發人員設計.

1900/1/1 0:00:00
拆解RSS3:是否可以真正的開啟Web3社交?_TOK

Web3.0是區塊鏈的整合與升級,在任何的網絡通信中,用戶都需要一個明確的數字身份,Web3.0也是如此,它也需要一個系統來綁定我們現實與虛擬的身份,這個身份就稱為統一身份認證.

1900/1/1 0:00:00
ads