0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

夾子機器人系統(tǒng)app技術(shù)開發(fā)功能詳解

蘇先生 ? 來源:sp520110 ? 作者:sp520110 ? 2022-06-02 14:45 ? 次閱讀

區(qū)塊鏈是不可變的,因為為交易計算SHA-256哈希。系統(tǒng)詳情了解塊的內(nèi)容也會被散列,從而提供唯一的標識符。
public class Block {
public long timeStamp;
private int index;
private List transactions = new ArrayList();
private String hash;
private String previousHash;
private String merkleRoot;
private String nonce = "0000";

// caches Transaction SHA256 hashes
public Map map = new HashMap();
請注意,注入的泛型類型是Tx類型。這允許事務數(shù)據(jù)發(fā)生變化。此外, previousHash 屬性將引用前一個塊的哈希。 merkleRoot 和 nonce 屬性將在稍后進行描述。,t>,t>

塊散列
每個塊可以計算一個塊散列。這本質(zhì)上是連接在一起的所有塊屬性的散列,包括前一個塊的散列和由此計算出的SHA-256散列。

下面是塊中定義的方法。計算散列的java類。
public void computeHash() {
Gson parser = new Gson(); // probably should cache this instance
String serializedData = parser.toJson(transactions);
setHash(SHA256.generateHash(timeStamp + index + merkleRoot + serializedData + nonce + previousHash));
}

塊事務被序列化為JSON字符串,以便在散列之前將其附加到塊屬性中。

Chain 鏈
區(qū)塊鏈通過接受交易來管理區(qū)塊。當達到預定閾值時,創(chuàng)建塊。這是一個簡單的Chain鏈。java部分實現(xiàn):
public class SimpleBlockchain {
public static final int BLOCK_SIZE = 10;
public List> chain = new ArrayList>();

public SimpleBlockchain() {
// create genesis block
chain.add(newBlock());
}

chain屬性包含使用Tx類型鍵入的塊的列表。此外,在創(chuàng)建鏈時,無參數(shù)構(gòu)造函數(shù)會創(chuàng)建一個初始的“ genesis ”塊。下面是 newBlock() 方法的源代碼。

public Block newBlock() {
int count = chain.size();
String previousHash = "root";

if (count > 0)
previousHash = blockChainHash();

Block block = new Block();

block.setTimeStamp(System.currentTimeMillis());
block.setIndex(count);
block.setPreviousHash(previousHash);
return block;
}
這個新的block方法將創(chuàng)建一個新的block實例,為適當?shù)闹翟O定種子,并分配前一個block的hash(即鏈頭的hash)。然后它將返回塊。

在將塊添加到鏈之前,可以通過將新塊的上一個哈希與鏈的最后一個塊(頭)進行比較來驗證塊,以確保它們匹配。這是一個簡單的鎖鏈。java方法描述了這一點。

public void addAndValidateBlock(Block block) {

// compare previous block hash, add if valid
Block current = block;
for (int i = chain.size() - 1; i >= 0; i--) {
Block b = chain.get(i);
if (b.getHash().equals(current.getPreviousHash())) {
current = b;
} else {

throw new RuntimeException("Block Invalid");
}

}

this.chain.add(block);
}
整個區(qū)塊鏈通過鏈的循環(huán)進行驗證,以確保一個區(qū)塊的哈希仍然與前一個區(qū)塊的哈希匹配。

這是 SimpleBlockChain.java 的 validate() 方法實現(xiàn)。

public boolean validate() {

String previousHash = null;
for (Block block : chain) {
String currentHash = block.getHash();
if (!currentHash.equals(previousHash)) {
return false;
}

previousHash = currentHash;

}

return true;

}

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2952

    瀏覽量

    104493
  • 源代碼
    +關注

    關注

    96

    文章

    2943

    瀏覽量

    66623
收藏 人收藏

    評論

    相關推薦

    【書籍評測活動NO.51】具身智能機器人系統(tǒng) | 了解AI的下一個浪潮!

    的互動形成。 隨著具身智能機器人技術(shù)的快速發(fā)展,相關人才的需求也在不斷增加,為了幫助大家系統(tǒng)性地總結(jié)和分析當前具身智能機器人系統(tǒng)的發(fā)展現(xiàn)狀和
    發(fā)表于 11-11 10:20

    “0元購”智元靈犀X1機器人,軟硬件全套圖紙和代碼全公開!資料免費下載!

    開發(fā)指南分別上線GitHub和智元機器人官網(wǎng),“一站式”開源軟硬件全套圖紙和代碼,大幅降低了機器人技術(shù)開發(fā)的門檻,推動了全球機器人
    發(fā)表于 10-25 15:20

    醫(yī)療機器人有哪些基本組成_醫(yī)療機器人有哪些功能

     醫(yī)療機器人是由多個關鍵部分組成的復雜系統(tǒng),這些部分共同協(xié)作以實現(xiàn)其在醫(yī)療領域中的各種功能。以下是醫(yī)療機器人的基本組成:
    的頭像 發(fā)表于 10-21 15:31 ?678次閱讀

    ROS讓機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    。 ROS系統(tǒng)主要特點有哪些 (1) 提供豐富的機器人算法庫 機器人的各種控制以及通信離不開算法庫的支持,ROS系統(tǒng)提供豐富且功能強大的
    發(fā)表于 07-09 11:38

    Al大模型機器人

    金航標kinghelm薩科微slkor總經(jīng)理宋仕強介紹說,薩科微Al大模型機器人有哪些的優(yōu)勢?薩科微AI大模型機器人由清華大學畢業(yè)的天才少年N博士和王博士團隊開發(fā),與同行相比具有許多優(yōu)勢:語言
    發(fā)表于 07-05 08:52

    小米機器人公司獲亦莊國投增資,專注仿生機器人技術(shù)創(chuàng)新

    。 ? 小米機器人公司專注仿生機器人技術(shù) ???????? 北京小米機器人技術(shù)有限公司成立于2023年4月,是小米集團唯一專注于仿生
    的頭像 發(fā)表于 06-19 00:02 ?2552次閱讀

    小米機器人入駐小米汽車工廠,已研發(fā)鐵大、鐵蛋等機器人

    6月5日消息,北京亦莊公眾號發(fā)布文章,透露小米機器人技術(shù)有限公司(下文稱小米機器人)近日在北京經(jīng)濟技術(shù)開發(fā)區(qū)(亦莊)舉行了盛大的喬遷儀式?,F(xiàn)場,小米第二代仿生四足
    的頭像 發(fā)表于 06-05 16:38 ?1182次閱讀

    全球機器人開發(fā)領域采用NVIDIA 機器人開發(fā)和生產(chǎn)

    比亞迪電子、西門子、泰瑞達和 Alphabet 旗下公司 Intrinsic 采用 NVIDIA Isaac 機器人平臺開發(fā)自主機械臂、人形機器人和移動機器人 ? NVIDIA 于今日
    的頭像 發(fā)表于 06-03 18:25 ?1164次閱讀

    基于飛凌嵌入式RK3568J核心板的工業(yè)機器人控制器應用方案

    加強和擴大現(xiàn)有市場份額,更要在細分市場中發(fā)掘新的增長動力,以適應更加激烈的市場競爭環(huán)境。 飛凌嵌入式作為一家專注嵌入式核心控制系統(tǒng)研發(fā)與制造的高新技術(shù)企業(yè),經(jīng)過多年的研發(fā)與積累,產(chǎn)品已廣泛應用于機器人
    發(fā)表于 05-11 09:40

    巡檢機器人有哪些功能和作用

    機器人的幾款巡檢機器人功能。 一、防爆輪式/ 軌道巡檢機器人 防爆機器人通過自然無軌3D+RFID導航
    的頭像 發(fā)表于 05-08 16:49 ?709次閱讀
    巡檢<b class='flag-5'>機器人</b>有哪些<b class='flag-5'>功能</b>和作用

    其利天下技術(shù)·搭載無刷電機的掃地機器人的前景如何?

    地毯并增加吸力,或是繞過障礙物進行清掃。同時,通過手機APP遠程控制、語音指令等方式,用戶可以方便地操作掃地機器人,實現(xiàn)個性化的清潔需求。 3.掃地機器人面臨的技術(shù)壁壘與客戶體驗問題
    發(fā)表于 05-05 15:03

    自主移動機器人(AMR)功能和特點

    復合機器人是一種集成了移動機器人、協(xié)作機器人機器視覺等多項功能的新型機器人。它的
    的頭像 發(fā)表于 02-28 15:05 ?1911次閱讀
    自主移動<b class='flag-5'>機器人</b>(AMR)<b class='flag-5'>功能</b>和特點

    詳解機器人技術(shù)基礎模型

    基礎模型在解決機器人技術(shù)中的數(shù)據(jù)稀缺問題上至關重要。它們?yōu)槭褂米钌俚奶囟〝?shù)據(jù)學習和適應新任務提供了堅實的基礎。
    發(fā)表于 01-08 10:44 ?395次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>機器人</b><b class='flag-5'>技術(shù)</b>基礎模型

    LabVIEW的六軸工業(yè)機器人運動控制系統(tǒng)

    LabVIEW開發(fā)六軸工業(yè)機器人運動控制系統(tǒng) 本項目開發(fā)了一個高效的工業(yè)機器人控制系統(tǒng),重點關注
    發(fā)表于 12-21 20:03

    ROS讓機器人開發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!

    庫的支持,ROS系統(tǒng)提供豐富且功能強大的機器人算法庫,如坐標變換、運動控制等。機器人開發(fā)者可根據(jù)開發(fā)
    發(fā)表于 11-30 16:01