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技術棧。
軟件工程的基本目標是定義清晰的、易于理解的業務邏輯來解決給定的問題。我們通過創建抽象層來做到這一點,相當于說“做一個花生醬三明治”,而不是“拿兩片面包,把它們放在桌子上,打開一罐花生醬”,等等。這些高級的描述使得重用、組合、記錄和測試軟件變得更加容易。
俄羅斯前總統:如果局勢沒有改善,唯一的選擇就是承認烏克蘭的兩個分離地區:2月21日消息,俄羅斯前總統梅德韋杰夫表示:如果局勢沒有改善,雖然看起來不太可能,唯一的選擇就是承認烏克蘭的兩個分離地區。(金十)[2022/2/22 10:07:01]
在Blocks編輯器中已經實現的一些簡單的加密功能
可視化編輯器通常用于連接以傳統編程語言編寫的高級模塊。這些環境使非技術用戶能夠理解程序的邏輯,同時還可以作為強大的學習工具和底層代碼庫的參考點。
特別是在區塊鏈dapp開發領域,每一行代碼都必須仔細檢查可能存在的漏洞。任何一個錯誤或疏忽都可能給項目帶來災難,這使圖形編輯器在發現安全問題和鼓勵更好的代碼封裝方面非常實用。
去年,在用戶體驗(UX)設計課上對視覺編輯器進行了實驗,我學到了一些意想不到的東西:dapp或智能合約開發幾乎沒有相同的編碼風格。快速搜索一下瀏覽器,你會發現有一個簡單的拖放編輯器,叫做EtherScripter,還有廢棄的登陸頁面,比如SmartChain和HyperLedger Composer,很明顯,這些項目目前都不能用于構建和部署真實世界的智能合約。
然而,這顯然引起了市場的興趣。2018年,Erik Marks寫了一篇Medium文章,名為《圖形智能合約編輯器的案例》(The Case for graphics Smart Contract Editors),他在文中呼吁開發者嘗試解決基于視覺流編輯器的用戶體驗問題。例如,Erik強調了一個幾乎普遍存在的問題,即“對于技術用戶來說,它們不如文本方便,而對于非技術用戶來說,它們很難被理解。”我個人經歷過這兩種問題,并很快意識到極短的用戶反饋循環將是一個新的可視智能合同編輯器成功的關鍵。
為了最大限度地創造一些對用戶友好的東西,我進行了一個生成式研究,由來自學術、專業和非技術背景的六個人組成。在每次采訪中,我都要求參與者探索Motoko Playground (Motoko智能合約的在線代碼沙箱)和Unreal Engine Blueprint,一種流行的可視化節點編輯器,在必要時只給出最少的指示。
OKEx徐坤:沒有業務支撐盲目推進代幣激勵 對DEX項目長期發展并不友好:8月18日午間,OKEx首席戰略官徐坤發微博稱,關于DEX,鏈上鏈下結合模式其實是對透明性和安全性做了一定程度的妥協,但這種妥協未必是有意義和有價值的。Uniswap目前只適合小型散戶交易者交易,機構交易者進來難度很大。如果沒有業務支撐而盲目推進代幣激勵,對于項目的長期發展并不友好,很容易造成揠苗助長的情況。[2020/8/18]
通過Motoko Playground部署的示例智能合約
UE4 藍圖中Blocks編輯器的概念驗證模擬
雖然每個人對這些應用程序的理解都略有不同,但我被許多參與者意想不到、和非常具體的反饋所吸引。例如,雖然我沒有注意到或介意Motoko Playground上的工具欄是不可調整大小的,但一些用戶提到這對他們來說是一個主要問題。最終,我找到了共同點:他們使用的是屏幕空間相對有限的筆記本電腦。
這些見解讓我真正體會到作為軟件工程過程一部分的用戶體驗研究的力量。特別是在開發一個非常非傳統的用戶界面時,我很驚訝地發現,從簡單地詢問幾個人20分鐘的時間中,我學到了多少東西。
以下是我們所學到的總結:
說到視覺編輯器,形式就是功能。鍵盤快捷鍵和符合人體工程學的設計決定了工作流程的成敗,類似于基于文本的 IDE。
自然語言比代碼語法和標識符更容易被理解。
聲音 | 美聯儲梅斯特:美聯儲沒有計劃推出數字貨幣:美聯儲梅斯特(Loretta Mester)表示,美聯儲正在研究數字貨幣,沒有計劃推出。(金十)[2019/11/19]
人們總是想要更多的例子!應該提供最常見的用例,作為模板。
實時反饋/評估循環對于探索性學習至關重要。
在這個過程中,Blocks獲得了25,000美元的DFINITY開發贈款。
以下是我們早期的應用路線圖:
以下是我們與UE4 Blueprint、Motoko Playground和Remix IDE的beta版特性的比較:
我們還使用了以下的HMW問題來進一步細化計劃中的功能列表:
我們如何幫助軟件工程社區關于中心化和非中心化應用程序之間的權衡?
我們如何讓dapp開發對非區塊鏈開發者來說更平易近人?
我們該如何減少Solidity或Motoko等智能合同語言的學習曲線?
由于目前的開源可視化流程編輯器庫文檔和維護都非常少,所以我花了幾天時間研究各種替代方法,以找到最適合這個項目的方法。
Node-RED — 被一個類似的廢棄項目使用;非常固執己見的
動態 | 肖磊解讀特朗普“攻擊”Libra原因:Libra沒有明確跟美元掛鉤:7月13日消息,財經專欄作家、財經評論員肖磊解讀特朗普“攻擊”Libra原因,他認為特朗普說Libra不可靠,而且需要獲得一張銀行牌照,接受監管。其實這里隱含的意思是,Libra沒有明確跟美元掛鉤,所以不可靠,沒有美國監管機構的批準,就不能干金融的業務。[2019/7/13]
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的補充
Feather — 干凈,簡約的圖標
Rete — 節點和連接渲染邏輯
Monaco — 語法突出顯示的代碼編輯器
WebAssembly — 靜態智能合約驗證
動態 | EOS反駁AnChain報告 稱沒有有效的推斷內容:據AMBCrypto 6月12日消息,區塊鏈安全公司AnChain近日發布了Blockchain Bot報告,詳細介紹了DApp未能吸引用戶,以及由EOS / ETH或其他類似區塊鏈驅動的賭博DApps和網站的負面影響。EOS反駁稱AnChain談到了對EOS十大賭博DApps的分析,但沒有提到它被分類的依據。報告中沒有任何內容可用于有效推斷EOS的速度,安全性,分散性,靈活性,可擴展性或靈活性。EOS談到DApp和其他技術總體上還處于初級階段,需要找到自己的立足點。[2019/6/12]
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:BLOCBLOCKLOCAPPABLOCK價格blockchainresearchandapplicationbloc幣2022前景如何metamask小狐貍錢包官網app
推特于2019年底宣布推出去中心化社交媒體協議——Bluesky計劃,本月 Bluesky 宣布成立公益有限責任公司實體,并簡要披露了其技術架構:將“自我認證協議”與聯邦委托托管機制相結合.
1900/1/1 0:00:00原標題 | Spell路徑看下Spell。首先我感覺應該從Alcx 入手。很早也分析過Alcx,所以看到Spell 的第一眼并沒有太驚喜,但是發展路徑卻是迥異,因此主要想看下兩者境況不同的一些原.
1900/1/1 0:00:00撰文:Holmes 利用區塊鏈技術和通證激勵機制來解決開發者利益分配不均、用戶玩家資產歸屬等痛點,一直是游戲業者進入區塊鏈領域孜孜以求的目標.
1900/1/1 0:00:00Web3的潛力令人興奮,如果傳統互聯網應用都在Web3進行重塑,將會是一波巨大的浪潮。音樂平臺Audius是其中的先行者,試圖通過區塊鏈的設計來重建音樂流媒體的共享方式.
1900/1/1 0:00:00前幾天,Supercell公司CEO Ilkka Paananen在年度公開信里曾提到,2021是這家芬蘭公司同時測試游戲數量最多的一年.
1900/1/1 0:00:00Twitter、Telegram、Discord,目前加密貨幣項目和社區必備的三件套,其重要程度堪比國內所說的“兩微一抖(微博、微信和抖音)”.
1900/1/1 0:00:00