整版ubuntu上搭建私链,编写智能合约,实现智能合约交互

本文详细介绍了如何在Ubuntu操作系统上搭建一个私有区块链网络,并且逐步讲解了如何编写和部署智能合约,实现合约之间的交互。通过这个过程,读者将深入理解区块链的工作原理以及智能合约的开发流程。
摘要由CSDN通过智能技术生成
完整版ubuntu上搭建私链,编写智能合约,实现智能合约交互
 捣鼓了几天总算是把智能合约部署到自己的ubuntu上,并用node.js进行调用协议,每笔交易用自己的token,可以进行必要时间进行追溯,完整使用区块链,由于solidity更新太快,很多交易的代码都必须改一些才能进行编译,好了,不好这么多这个了。
  1、首先你需要拥有一台ubuntu服务器,我这里买的是阿里云的,配置问题,我提醒下,我买的8核16G内存的,挖矿还是比较牛的。
开始:
 

备选方案1 - 使用混编进行编译,然后复制粘贴进行部署

使用https://ethereum.github.io/browser-solidity中的混音

在这里输入图像描述

从Remix页面复制Web3部署说明:

var untitled_testContract = web3.eth.contract([{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"}]);var untitled_test = untitled_testContract.new( {  from: web3.eth.accounts[0],data: '0x60606040523415600b57fe5b5b607b6000819055505b5b608f806100246000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f24514603a575bfe5b3415604157fe5b6047605d565b6040518082815260200191505060405180910390f35b600054815600a165627a7a72305820a4fac284b98d43538f802082b0db8c67ddd6d72df4e8d9fbccb4cec0e52ea0df0029',gas: '4700000' }, function (e, contract){  console.log(e, contract); if (typeof contract.address !== 'undefined') { console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash); } })

并将其粘贴到geth console解锁帐户中:

> personal.unlockAccount(eth.accounts[0], "{top secret password}");true> var untitled_testContract = web3.eth.contract([{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"}]);"0xe22dc29e3e05d3206d9636ae7cba87a2827e7b3ef28c6e8e6d2ad49a14ba3ce9"var untitled_test = untitled_testContract.new( {  from: web3.eth.accounts[0], data: '0x60606040523415600b57fe5b5b607b6000819055505b5b608f806100246000396000f30060606040526000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633fa4f24514603a575bfe5b3415604157fe5b6047605d565b6040518082815260200191505060405180910390f35b600054815600a165627a7a72305820a4fac284b98d43538f802082b0db8c67ddd6d72df4e8d9fbccb4cec0e52ea0df0029',gas: '4700000' }, function (e, contract){  console.log(e, contract); if (typeof contract.address !== 'undefined') { console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash); } })

方案2 - 使用Solidity编译器(Linux和OS / X,也许Windows使用Cygwin)

$ more Test.sol pragma solidity ^0.4.8;contract Test {  uint256 public value; function Test() {  value = 123; }}

以.json格式编译Test.sol,将数据分配给JavaScript变量并将输出发送到文件中:

$ echo
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值