1. 程式人生 > >以太坊學習之Java開發框架web3j的使用---部署合約

以太坊學習之Java開發框架web3j的使用---部署合約

智慧合約名以 HelloContract 為例
1,編譯合約原始碼
這裡寫圖片描述
命令:solc HelloContract.sol –bin –abi –optimize -o outputPath
solc .sol –bin –abi –optimize -o /
.sol:智慧合約原始檔;
–bin –abi:會生成 .bin .abi倆檔案;
/:編譯檔案輸出位置。

2,生成 .java檔案
這裡寫圖片描述

命令: web3j solidity generate .binPath .abiPath -o .javaPath -p packageName
在此會生成一個HelloContract.java檔案,個人理解就是把solidity語言翻譯成了java語言。

3,部署合約
Java中部署合約方法:
HelloContract contract = HelloContract.deploy(web3j, credentials, GAS_PRICE, GAS_LIMIT, initialValue, param1, … , paramN);
載入已知合約:
HelloContract contract = HelloContract.load(“contractAddress”, web3j, credentials, GAS_PRICE, GAS_LIMIT);

相關推薦

學習Java開發框架web3j的使用---部署合約

智慧合約名以 HelloContract 為例 1,編譯合約原始碼 命令:solc HelloContract.sol –bin –abi –optimize -o outputPath solc .sol –bin

區塊鏈java開發web3j

以太坊 java開發依賴 <dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId>

學習常用命令

miner.start(1) 啟動挖礦 miner.stop() 停止挖礦 miner.setEtherbase(addr) 設定主賬戶 personal.unlockAccount(eth.accounts[0]) 解鎖賬戶 p

Go、Java、Python、Ruby、JS客戶端介紹

git 跟蹤 處理 p2p 純java eth 前綴 成功 contents 作者:HPB_汪曉明(HPB Team) Go Ethereum 簡介 go-ethereum客戶端通常被稱為geth,它是個命令行界面,執行在Go上實現的完整以太坊節點。通過安裝和運行get

(Ethereum)開發環境(geth)搭建 —— 基於ubuntu 16.04 LTS

geth = g(Go 語言) + eth go 語言適合開發高效能程式。 可以建立賬戶、建立區塊鏈、挖礦。   1. 從原始碼編譯安裝(安裝go 語言的開發環境),初學者並不建議使用這種方法。 2. Mac平臺        

走進技術路:瓶頸、困境和方案

一、以太坊目前存在的技術瓶頸 以太坊網路目前存在的主要問題是:可擴充套件性、智慧合約的安全性、共識協議與隱私性。 1. 可擴充套件性困境 2017年的以太坊養貓遊戲中,佔到整個以太坊16%的交易量,導致以太坊網路大面積擁堵。網路擁堵問題暴露出了以太坊區塊鏈亟需擴容的現狀。以太坊被設計成為一個

可以使企業級開發受益的11種方式

以下是以太坊區塊鏈解決方案如何面向未來的商業網路。 企業需要什麼? 企業與網路中的個人使用者比有著非常不同的需求。企業需要管理大量敏感資料,跟蹤質量,並對自己所在行業的安全和監管標準負責,無論是發放ID,執行交易,跟蹤貨物集裝箱還是標記藥品。大規模的安全性,確定性和問責制對於高績效企

教程-web3 + express開發錢包

在上一節中我們講到了瞭如何使用web3調來用以太坊API,學習瞭如何建立賬戶,使用私鑰簽名交易,查詢餘額,轉賬等操作。本節我們將建立一個視覺化的介面,來完成建立賬戶,轉賬、查詢餘額等功能。 目錄: 建立專案 安裝專案依賴 獲取web3例項物件 建立前端頁面

教程- Web3.js 開發基礎

簡介 web3.js 是一個通過RPC 呼叫 和本地以太坊節點進行通訊的js庫。web3.js可以與任何暴露了RPC介面的以太坊節點連線。 web3中提供了eth物件 - web3.eth來與以太坊區塊鏈進行互動。 在github上獲得程式碼 安裝 Testrpc 安裝Eth

虛擬幣錢包代幣技術開發

意義 數字貨幣 健全 市值 轉移 容易 特定 基礎 到來 虛擬幣錢包以太坊代幣技術開發156-3841-3841

學習筆記(七)——Truffle整合Nodejs

這篇文章的內容緊接著上章的內容,上一篇講了truffle合約部署的基本操作,文章最後講了通過console來呼叫部署成功的合約中的方法,之所以truffle console能夠直接呼叫合約中的方式,是因

DAO股東協會

Decentralized Autonomous Organization,簡稱DAO,以太坊中重要的概念。一般翻譯為去中心化的自治組織。 在上一節中,我們為了展示什麼是DAO建立了一個合約,就像一個採用邀請制的俱樂部,會員被總統的心血來潮邀請或禁止。但這有一些缺點:如果有人想改變他的主

DAO流動民主智慧合約

Decentralized Autonomous Organization,簡稱DAO,以太坊中重要的概念。一般翻譯為去中心化的自治組織。 投票支付合約的所有費用和行動需要時間,並要求使用者始終保持活躍,知情和專注。另一個有趣的方法是選擇一個可以控制合約的指定賬戶,然後能夠迅速做出決定。

DAO時間鎖定Multisig

Decentralized Autonomous Organization,簡稱DAO,以太坊中重要的概念。一般翻譯為去中心化的自治組織。 有時候,時間也可以用作一種很好的安全機制。以下程式碼基於DAO區塊鏈大會,但有不同的變化。不是每個操作需要X個成員批准,而是任何交易都可以由單個成員發起,但它們在執行之前

學習(5)利用Web3.js與節點互動【1】

利用Web3.js與節點互動  一、環境配置 【寫在最前:本文用到的主要工具:node.js+geth+ web3.js 1.0.0-beta.18】 1、確保已經安裝node.js 個人在debian9上安裝nodejs的經歷比較坎坷,但是據說ubuntu上安裝方便

學習(6)關於web3.js 1.0版本中event事件無法觸發的問題

關於web3.js 1.0版本中event事件無法觸發的問題 寫在最前:請檢查你的provider連線方式,http provider已不支援event事件的觸發了 具體請看官方源文件 一、問題還原: (1)先給出智慧合約程式碼 合約內容比較簡單 deposi

深入區塊鏈原始碼挖礦

// Miner creates blocks and searches for proof-of-work values. type Miner struct { mux *event.TypeMux worker *worker coinbase co

學習(7)利用RPC-JSON【post|get】與節點進行互動【2】關於呼叫eth_sendTransaction失敗的檢查方法

關於呼叫eth_sendTransaction失敗的檢查方法 本篇主要講利用JSON-RPC介面呼叫以太坊中已經部署好的合約函式時,如果出現呼叫失敗的檢查方法。  前置知識: 呼叫eth_sendTransaction所需的abi編碼:https:/

學習(8)編寫C++程式與節點進行互動【2】

編寫C++程式與節點進行互動 【1】簡單版本,需對http request有一定了解,以及QT的基本操作  【2】進行類的封裝,個人水平有限,如有紕漏,請下方留言   測試環境: debian 9 QT 5.5 geth/v1.8.1

學習(::)簡單專案實戰

簡單專案實戰 目的:以html+js構建網頁,展示鏈上資訊。 一、合約 合約內容: 用結構體user記錄【使用者】個人資訊,對映為users 用結構體consignment記錄【電能】交易訂單,對映為orders 利用call獲取訂單的資訊