当前位置: 首页 > 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及语法
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【技术性】Search知识
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • django开发-定时任务的使用
  • es6--symbol
  • iOS | NSProxy
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Vim Clutch | 面向脚踏板编程……
  • Vue 动态创建 component
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 记一次删除Git记录中的大文件的过程
  • 前端临床手札——文件上传
  • 收藏好这篇,别再只说“数据劫持”了
  • 算法-插入排序
  • 微信小程序设置上一页数据
  • 温故知新之javascript面向对象
  • 小李飞刀:SQL题目刷起来!
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 函数计算新功能-----支持C#函数
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 组复制官方翻译九、Group Replication Technical Details
  • ​io --- 处理流的核心工具​
  • ​ssh免密码登录设置及问题总结
  • #define 用法
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $GOPATH/go.mod exists but should not goland
  • (31)对象的克隆
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (力扣)1314.矩阵区域和
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)德国人的记事本
  • ***测试-HTTP方法
  • ***详解账号泄露:全球约1亿用户已泄露
  • .“空心村”成因分析及解决对策122344
  • .describe() python_Python-Win32com-Excel
  • .net core 6 集成和使用 mongodb