全節點錢包模式需要專案方同步並持有乙個區塊鏈節點,並對外提供乙個瀏覽器環境與使用者進行互動。
相容模式可以在外掛程式錢包和全節點錢包下同時使用,即上述兩種方式可以自由切換,安全效能相對較高。
比原鏈的虛擬機器是圖靈完備的,理論上可以實現任意圖靈計算機能實現的操作。而equity
作為比原鏈的智慧型合約語言,使用equity
語言可以實現許多典型的金融模型案例,但是為了解決停機問題,比原鏈也設定了手續費的上限,因此使用者在設計合約的時候做一下權衡。
合約模板結構如下:
contract contract_name(...) locks valueamount of valueasset
...}
equity
語法結構簡單,語句意思明確,有開發經驗的童鞋一看基本能明白合約的意思。編寫智慧型合約可以參考equity
合約介紹,文件中對equity
語言的語法和編譯方法都做了詳細的介紹。此外,文件還對一些典型的模板合約進行了介紹,開發者可以自己需求進行參考。
工具編譯和例項化示例如下:
// compile
./equity [contract_name] --bin
// instance
./equity [contract_name] --instance [arguments ...]
部署合約即傳送合約交易,呼叫比原鏈的build-transaction
介面將指定數量的資產傳送到合約program
中,只需將輸出output
中接收方control_program
設定為指定合約即可。使用者可以參考合約交易說明中的鎖定合約章節,交易的構造按照文件中介紹進行參考即可。如果合約交易傳送成功,並且交易已經成功上鏈,便可以通過呼叫api
介面list-unspent-outputs
來查詢該合約的utxo
。
部署合約交易模板大致如下:
從功能層面來說,前端主要包含頁面的設計、外掛程式的呼叫、合約交易邏輯的處理、緩衝伺服器的互動等。接下來對這幾個重要的部分展開說明:
前端邏輯處理流程大致如下:
window.addeventlistener('load', async function() ;
...});
,其示例模型如下:
var config = ,
"testnet":,
"mainnet":
}
前端預計算處理,如果合約中包含lock-unlock
語句,並且amount
是乙個數值表示式,那麼前端來提取計算表示式並進行相應的預計算。此外,前端還需要預判下所有可驗證的verify
語句,從而判定交易是否可行,因為一旦前端對這些驗證失敗,合約將必然驗證失敗。此外,如果define
或assign
語句涉及的變數,前端也需預計算這些變數的值。
const input =
input.push(spendutxoaction(utxohash))
... // other input
const output =
output.push(controlprogramaction(amount, asset, program))
... // other output
啟動前端服務
編譯前端命令如下:
npm run build
啟動之前需要先啟動bufferserver
緩衝伺服器,然後再啟動前端服務,其前端啟動命令如下:
npm start
緩衝伺服器架構可以參考一下bufferserver案例的源**,其編譯和啟動步驟如下: 軟體流程 開發流程規範
1 prd 介面文件 資料庫文件等按sprint分開整理並同步到confluence 2 前後端分離開發模式下,後端設計介面開發文件,同步到confluence,同時提供mock介面 3 後端功能初步拆分後,由各開發自主評估工期,再由專案leader評審 前端開發人員根據原型圖評估工期 測試人員根據...
app開發總結6 測試流程 開發流程
1,單元測試 對軟體的最小可測試單元進行檢查和驗證,通常是乙個函式 方法 2,整合測試 對每個子模組 子系統進行測試,確保每個子模組可以單獨執行 4,交付測試 目的是保證使用者對交付的系統滿意,此過程需要客戶的參與,並提出意見 bugtags 國內首款專門用於移動應用測試的平台,可自動收集分析奔潰資...
專案開發流程
專案計畫 專案經理發給專案組長需求規格說明書,專案組長根據說明書編寫乙個專案計畫。專案計畫交給專案經理審編。注 專案計畫詳解 開發專案的時間 人員數量 各個階段的時間 需求文件 組長對組員進行分工,將需求規格說明書分成不同的模組發給組員,組員在有效的時間內根據需求規格說明書編寫乙份需求文件,專案組長...