LP流动性挖矿分红dapp系统开发智能合约部署详细介绍

简介: LP质押双池流动性挖矿分红dapp系统开发智能合约部署详细介绍

什么是合约?
合约是代码和数据的集合,存在于区块链的特定地址。 合约账户能够在彼此之间传递信息,进行图灵完备的运算。合约字节代码上的区块链运行。

以太坊高级语言
合约是很典型地用诸如Solidity等高级语言写成的,编译成字节代码上传到区块链。

在geth设置solidity编译器
如果你启动了geth节点,就可以查看哪个编译器可用。示例如下:

web3.eth.getCompilers();

[“lll”, “solidity”, “serpent”]

这一指令会返回到显示当前哪个编译器可用的字符串。
注意:solc编译器和cpp- ethereum一起安装。如果你的solc可执行文件不在标准位置,可以用—solc标志为solc可执行文件指定一个定制路线。示例如下:

$ geth --solc /usr/local/bin/solc

或者你可以通过控制台在执行期间设置这个选项:

admin.setSolc("/usr/local/bin/solc")

solc, the solidity compiler commandline interface

Version: 0.2.2-02bb315d/.-Darwin/appleclang/JIT linked to libethereum-1.2.0-8007cef0/.-Darwin/appleclang/JIT

path: /usr/local/bin/solc

编译一个简单合约
让我们来编译一个简单的合约源,示例如下:

source = “contract test { function multiply(uint a) returns(uint d) { return a * 7; } }”

这个合约提供了一个单一方法multiply,它和一个正整数a调用并返回到a*7。

下面准备在geth JS控制台用eth.compile.solidity()编译solidity代码:

contract = eth.compile.solidity(source).test

{

code: ‘605280600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b60376004356041565b8060005260206000f35b6000600782029050604d565b91905056’,

info: {

language: ‘Solidity’,

languageVersion: ‘0’,

compilerVersion: ‘0.9.13’,

abiDefinition: [{

constant: false,

inputs: [{

name: ‘a’,type: ‘uint256’

} ],

name: ‘multiply’,

outputs: [{

name: ‘d’,type: ‘uint256’

} ],type: ‘function’

} ],

userDoc: {

methods: {

}

},

developerDoc: {

methods: {

}

},source: 'contract test { function multiply(uint a) returns(uint d) { return a

7; } }’

注意:编译器通过RPC因此也能通过web3.js,对浏览器内任何通过RPC/IPC连接到geth的Ðapp可用。

相关文章
|
6月前
|
人工智能 前端开发 搜索推荐
利用通义灵码和魔搭 Notebook 环境快速搭建一个 AIGC 应用 | 视频课
当我们熟悉了通义灵码的使用以及 Notebook 的环境后,大家可以共同探索 AIGC 的应用的更多玩法。
635 124
|
缓存 网络协议 Linux
计算机网络——Wireshark软件使用与协议分析(ARP协议、IP与ICMP分析)
Wireshark软件使用与协议分析 ARP协议分析 使用 Wireshark 抓取局域网的数据包并进行分析: 1. 学习 Wireshark 基本操作:重点掌握捕获过滤器和显示过滤器。 2. 观察 MAC 地址:了解 MAC 地址的组成,辨识 MAC 地址类型。 3. 分析以太网帧结构:观察以太网帧的首部和尾部,了解数据封装成帧的原理。 4. 分析 ARP 协议:抓取 ARP 请求和应答报文,分析其工作过程。 IP与ICMP分析 启动 Wireshark,捕捉网络命令执行过程中本机接受和发送的数据报。
2506 0
计算机网络——Wireshark软件使用与协议分析(ARP协议、IP与ICMP分析)
|
缓存 小程序 API
微信小程序如何进行页面跳转
微信小程序如何进行页面跳转
664 3
Linux交叉编译+粤嵌LCD实现三色图
Linux交叉编译+粤嵌LCD实现三色图
ly~
|
人工智能 自然语言处理 搜索推荐
人工智能在医学领域的应用
人工智能在医学领域的应用广泛,涵盖医学影像分析、医疗数据分析与预测、临床决策支持、药物研发、自然语言处理及智能健康管理等方面。它能提高诊断准确性,预测疾病风险与进展,优化治疗方案,加速药物研发,提升手术安全性,并实现个性化健康管理,有效推动了医疗科技的进步。
ly~
554 3
|
测试技术 API 开发工具
什么是开发者门户?最佳实践及示例
开发者门户是公司提供服务和解决方案的接口,不仅针对开发者,也面向各种利益相关者。与普通网站的静态内容不同,开发者门户包含动态更新的内容。它不仅是 API 文档的集合,还涵盖 GUI、无代码/低代码接口等。好的开发者门户清晰呈现商业模式、解决方案、定价、内容层级、设计一致性、可查找性、非技术用户友好性、注册流程、API 参考、社区支持、反馈机制、案例研究和更新。重要的是,它应反映业务结构,并通过良好的开发者体验(DX)设计,提供一致的用户体验。
|
存储 运维 数据中心
Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
Docker是容器化技术,基于镜像(只读模板)创建可移植的容器,确保应用及其服务在隔离环境中运行。其优势包括快速部署(整个应用打包一次部署)、跨平台兼容、统一运行环境、资源隔离和简化依赖管理。Docker在开发和运维中都发挥作用,助力高效测试、部署和提升生产稳定性。
287 3
|
Python Windows
Jupyter Notebook的使用
Jupyter Notebook的使用
449 0
|
小程序 BI
智慧校园学生平台综合评价子系统源码,报表自动生成
学生评价系统是智慧校园电子班牌系统中的其中一个子系统,各学科教师通过小程序或是班级互动电子屏直接评价,以积分的形式每日即时评价学生的按时到校、作业完成、课堂表现等情况,形成学生学习兴趣和学习习惯数据。
280 1