買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > NEAR > Info

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

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技術棧。

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

BAYC聯創:Yuga Labs從未使用過FTX,也沒有任何資金:11月11日消息,無聊猿BAYC聯合創始人Garga在Discord中發言表示,整個加密市場都在關注 FTX 和 SBF 所引發的嚴重后果,但 Yuga Labs 在 FTX 上沒有任何資金。他寫道:順便說一句,市場上有些人詢問我們是否受到 FTX/Alameda 事件的影響,Yuga Labs 從來沒有使用過 FTX. com,在上面也沒有任何資金和資產。雖然FTX是Yuga Labs種子輪融資的一個小投資者,但很明顯,我們很早以前就收到了他們的支票,這不會影響我們的運營。[2022/11/11 12:51:45]

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

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

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

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

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

瑞士央行:再融資便利工具(CRF)的操作規模沒有上限:瑞士央行推出應對病再融資便利工具,并降低逆周期資本緩沖要求,瑞士央行表示,再融資便利工具(CRF)的操作規模沒有上限。(金十)[2020/3/25]

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

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

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

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

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

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

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

現場 | 李國權:沒有政府背書或者監管,Libra啟動不了:金色財經現場報道,在2019年第五屆區塊鏈全球峰會9月18日現場,新加坡新躍社科大學李國權教授表示,Libra是一種細致的平衡,即沒有政府背書或者監管,Libra啟動不了;隱私保護是中央權力與其談判的議價工具;除非人的尊嚴得到保護,否則是不可能實現以人為本的,這也是中央權力對此類項目最基本的商業道德。[2019/9/18]

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

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

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

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

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

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

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

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

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

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

聲音 | 財富500強軟件開發商:比特幣沒有成為全球儲備貨幣的資格:據ccn消息,財富雜志500強軟件開發商布萊斯·韋納(Bryce Weiner)表示,多年的過度工程和道德腐敗已使比特幣成為垃圾網絡,也沒有成為全球儲備貨幣的資格。[2019/1/1]

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

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的補充

Feather — 干凈,簡約的圖標

Rete — 節點和連接渲染邏輯

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

馬來西亞部長:沒有禁止比特幣交易的計劃:馬來西亞部長表示政府并沒有禁止加密貨幣交易的計劃,不過希望政府人員在深刻理解的基礎上制定出合理的政策監管,以防范市場風險。同時要求交易所完成盡調和可疑交易報告。[2018/1/3]

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:LOCKBLOCBLOCKSLOCGoldBlocksAra BlocksBlocksquarebloc幣幣幣情

NEAR
EAT:擁有最全日漫IP的鏈游平臺Abeats Game 能否重鑄GameFi榮光_BEAT價格

2020 年的「DeFi Summer」引發了流動性挖礦的熱潮,繼而引爆了這輪牛市的到來。而去年秋天則誕生同樣可與之媲美的「GameFi Autumn」,將無數的玩家用戶帶到了 Pay to E.

1900/1/1 0:00:00
Mirror:Mirror.xyz 通向web3.0的一道窄門_Mirrored Amazon

簡單理解,Mirror是一個采用區塊鏈技術的內容創作平臺,普遍認為它是去中心化版本的medium.

1900/1/1 0:00:00
CRYP:World of Cryptoids:最具創新性的可持續游戲之一_CRYPTO

World of Cryptoids 是最近推出的可持續 p2e 區塊鏈游戲。這是一款回合制策略卡牌游戲,將 NFT 作為游戲中的角色 Cryptoids。項目團隊在游戲和更新方面都非常成功.

1900/1/1 0:00:00
PAR:Space Warriors Club NFT中文解析_SPARK

SpaceWarriors 俱樂部是 7,777 個獨特的 3D NFT 的集合,在虛幻引擎 5 上設計,存儲為以太坊區塊鏈上的 ERC-721,并托管在 IPFS 上.

1900/1/1 0:00:00
SHI:即將開啟創世居民鑄造 一文了解Chibi Clash如何構建P2E游戲世界_CHIBI

Chibi Clash將于1月31日開啟鑄造創世壁居民們(Gen Zero Chibi Citizens).

1900/1/1 0:00:00
AUR:Solana '藍籌股' NFT游戲 Aurory 將于25號上線FTX_ROR

高性能公鏈 Solana 生態版圖以肉眼可見的方式開始了極速的擴張,其上層應用場景逐步完善,Solana 生態正處于急速發展和前行的狀態.

1900/1/1 0:00:00
ads