当前位置: 首页 > news >正文

用Visual Studio开发以太坊智能合约

区块链和以太坊

自从我熟悉区块链、以太坊和智能合约以来,一直失眠。

我一直在阅读,阅读和阅读,最后我能够使用一些工具,他们建议使用以太坊网站官方客户端应用程序(Ethereum Wallet)也就是以太坊钱包构建和部署一些智能合约。

我还能够使用以太坊客户端执行智能合约。但我想,我需要使用一个更好的工具来构建智能合约,它们只是一些代码,所以我发现我可以在Visual Studio中像Visual Studio Code一样完成它。

用Visual Studio构建智能合约我需要做什么?

要使用VisualStudio构建以太坊智能合约,需要在Visual Studio Marketplace中找到solidity的扩展组件。

VisualStudio以太坊智能合约

第一个智能合约项目

组件下载完成后, 你在Visual Studio中就会有一个solidity的开发模版,访问路径是File => New Project,然后选择Smart Contract Project 模版即可.

VisualStudio以太坊智能合约

你在Solution Explorer中可以看到这个模版有三个智能合约文件,扩展名是.sol,这就是我们的solidity文件了。

VisualStudio以太坊智能合约

其中Payout.sol示例看起来像这样:

contract Payout {
     address Victor;
     address Jim;
     address Kieren;

     mapping (address => uint) ownershipDistribution; 

     function Setup() {
       Victor = 0xaabb;
       Jim    = 0xccdd;
       Kieren = 0xeeff;

       ownershipDistribution[Victor] = 35;
       ownershipDistribution[Jim]  = 35;
       ownershipDistribution[Kieren] = 30;
     }

     function Dividend() {
       uint bal= this.balance;
       Victor.send(bal * ownershipDistribution[Victor] / 100); 
       Jim.send(bal * ownershipDistribution[Jim] / 100);
       Kieren.send(bal * ownershipDistribution[Kieren] / 100);
     }
}

就这样你在Visual Studio获得了第一个以太坊智能合约。

编译和发布

下面你想做的事情就应该如何构建一个智能合约了,然后编译它。

右键点击.sol文件选择编译即可:

VisualStudio以太坊智能合约

现在是时候把你的智能合约部署到以太坊了。

要做到这一点,我们需要用区块链信息设置项目,因此右键点击项目并选择属性:

VisualStudio以太坊智能合约

在进入区块链密码、区块链服务URL(或者称为RPC URL)之后,你可以将智能合约部署到网络中。

只需右键点击智能合约(.SOL文件),然后选择Deploy Smart Contract即部署智能合约。

注意:为了使智能合约部署工作,需要Geth控制台在你的计算机上运行。因此,如果你正在部署到testnet即测试链,在单击部署之前打开命令提示符并键入下面的命令:

geth --testnet

VisualStudio以太坊智能合约

这样你就知道了。你的去中心化应用程序的后端服务在网络中启动并运行,人们可以按照他们的意愿执行它。

其他

有兴趣查询你刚刚部署的智能合约,看看它的详细交易信息吗?

可以使用刚才部署的合同的地址用etherscan.io网站去以太坊的testnet看看。

下面的URL是我刚刚部署的URL:

注:0x061e4d089f5341786fade6277d2a0e9526551500是智能合约的公钥。

你会看到:

VisualStudio以太坊智能合约

如你所见,合约的每一项对所有人都100%透明!

=========================================================================

如果你希望快速的开始使用.net和C#开发以太坊应用,那这个我们进行打造的课程会很有帮助:

C#以太坊

这里是原文

相关文章:

  • 搭载AI引擎,腾讯云云镜开启全面防护模式
  • 学习日记0821组合 多态 封装
  • 基于名字自动发布之数据库(4)
  • 洛谷P2526 [SHOI2001]小狗散步(二分图匹配)
  • 关于Nginx负载均衡的6种策略
  • 阿里云和腾讯云搭建hadoop
  • 模块和包
  • Idea+maven+scala构建包并在spark on yarn 运行
  • linux基础语法
  • 谈谈如何通过linux系统RHCE考试
  • 漫谈计算机组成原理(八)原码、补码、反码
  • 【c】插入排序
  • 20180824Noip模拟赛10分总结
  • jquery 取id模糊查询
  • DBA:快速了解MySQL及语法
  • 网络传输文件的问题
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Angular 4.x 动态创建组件
  • canvas 五子棋游戏
  •  D - 粉碎叛乱F - 其他起义
  • Fastjson的基本使用方法大全
  • Hexo+码云+git快速搭建免费的静态Blog
  • js如何打印object对象
  • Linux链接文件
  • python 学习笔记 - Queue Pipes,进程间通讯
  • python 装饰器(一)
  • react 代码优化(一) ——事件处理
  • Tornado学习笔记(1)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 读懂package.json -- 依赖管理
  • 反思总结然后整装待发
  • 给Prometheus造假数据的方法
  • 蓝海存储开关机注意事项总结
  • 通过git安装npm私有模块
  • 微服务入门【系列视频课程】
  • 微信小程序设置上一页数据
  • 栈实现走出迷宫(C++)
  • const的用法,特别是用在函数前面与后面的区别
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #Linux(make工具和makefile文件以及makefile语法)
  • #微信小程序:微信小程序常见的配置传值
  • $$$$GB2312-80区位编码表$$$$
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (8)STL算法之替换
  • (C语言)球球大作战
  • (function(){})()的分步解析
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (十八)三元表达式和列表解析
  • .Net Core与存储过程(一)
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET 中让 Task 支持带超时的异步等待
  • .NET和.COM和.CN域名区别