truffle

以太坊智能合约开发框架Truffle

孤街醉人 提交于 2020-08-09 18:41:34
前言   部署智能合约有多种方式,命令行的浏览器的渠道都有,但往往跟我们程序员的风格不太相符,因为我们习惯了在IDE里写了代码然后打包运行看效果。   虽然现在IDE中已经存在了Solidity插件,可以编写智能合约,但是部署智能合约却要另走他路,没办法进行一个快捷的部署与测试。   如果团队管理的区块节点多、合约多,那得哭晕在厕所。   Truffle是一个世界级的智能合约开发框架,专门为智能合约而生。 安装 安装truffle sudo cnpm install -g truffle 查看版本 truffle version 搭建项目 创建项目目录 mkdir dapp cd dapp / 初始化空项目 truffle init 你也可以不创建空项目 而是创建一个带有模板的项目 如下 初始化模板项目 truffle unbox webpack 官方模板列表:https://www.trufflesuite.com/boxes 配置区块节点 truffle-config.js文件中networks代码段 用来配置区块链节点 示例中有这么一段 development: { host: " 127.0.0.1 " , // Localhost (default: none) port: 8545 , // Standard Ethereum port (default: none)

[区块链笔记4] truffle部署合约到Ganache

旧时模样 提交于 2020-08-08 12:19:10
文章目录 前言(废话+杂记+感受) 正文前的记录 创建项目 写一个简单的solidity 部署配置文件 truffle编译 部署的最后一步 与合约互动 总结 前言(废话+杂记+感受) 前段时间征集大创,班里两个同学想和我组队,然后我就又拉上一位大佬组起了队。其实到现在也不太清楚大学阶段最后要深入研究那个方向,现在还在各种方向都摸索着,好害怕最后什么都知道一点,但是什么都不精。不太想专门写一篇日志,所以就借着这个周二的早上记录一下叭。言归正传。 用了4天看solidity,第3、4天看的加密僵尸,第6章需要用到javascript、jquery,然后就用了3天去看这个两个语法,顺带着看了看nodejs的相关基础(因为部署的时候需要用到truffle等东西,这些都是和nodejs有一点联系的,比如说truffle就是得用npm来install,但是下载npm最省事的方法就是通过安装node来安装了)。 然后花了1天时间来看truffle的部署,准确的说应该是废了1天,因为这一天啥都没弄明白,只是装好了各种环境而已。 看了一天还是萌萌咚咚,然后想起来CX大佬之前写过一篇关于部署和测试的文章,借鉴了一下。 https://blog.csdn.net/weixin_40788897/article/details/103918598 正文前的记录 加密僵尸那个教程的truffle里好多部署

深入学习java虚拟机,分享三个你从未听过的虚拟机黑科技

萝らか妹 提交于 2020-08-07 03:31:24
本文转载自: 深入学习java虚拟机,分享三个你从未听过的虚拟机黑科技 作为开发工程师,你也许会在日常编程中被Java的启动性能和内存耗费所震惊,继而对Java语言产生怀疑;或许在使用虚拟机遇见内存溢出等一系列异常时头疼万分, 困扰于为什么会出现各种问题。 和语言朝夕相处的开发者们,提及代码的详细运行过程也难免会一时语塞。这都是由于Java虚拟机封装得太好,让使用者几乎感觉不到它的存在。虽然这种"一次编写,到处运行"优势颇多,但是却也让我们忽略了学习Java虚拟机的必要。 熟知Java虚拟机的工作原理可以大幅提升日常编程的效率,对寻常Bug的修复更是轻而易举。同时,这也是Java技术的重要组成成分之一,实现技术进阶必不可缺的知识。 Java虚拟机知识框架图 一、Java虚拟机的基本原理 剖析 Java 虚拟机的运行机制,逐一介绍 Java 虚拟机的设计决策以及工程实现; 1. Java代码是怎么运行的 ? 作为一名 Java 程序员,你应该知道,Java 代码有很多种不同的运行方式。比如说可以在开发工具中运行,可以双击执行 jar 文件运行,也可以在命令行中运行,甚至可以在网页中运行。当然,这些执行方式都离不开 JRE,也就是 Java 运行时环境。 2. Java的基本类型 Java有八个基本类型,来支持数值计算。Java 这么做的原因主要是工程上的考虑

以太坊truffle+ganache合约部署调试及web3.js事件监听过程记录

不羁岁月 提交于 2020-08-06 04:50:03
前期准备 0.系统:Windows10 1.本地hosts文件配置(为了后面truffle download能够成功) 2.ganache安装(为了在truffle console中使用有ETHER的测试账户) 3.node环境配置 1-2教程请参考以下连接: 以太坊truffle框架搭建基础请点此处 3教程请自行百度,检验本地是否有node环境:在cmd中输入node回车 如有则如下图所示👇 truffle + ganache 合约部署 1.新建项目文件夹 并在cmd中cd进入 输入 truffle unbox webpack 出现如下图👇所示输出代表成功 项目文件夹中自动生成下图👇目录,手动将编写好的合约复制粘贴到contracts目录 该目录中有几个自动产生的合约 可以不对他们做任何处理 2.ganache开启 : 打开另一个cmd 输入 ganache-cli 出现如下图👇所示则表示ganache成功打开 可以看到 listening on 后面的主机为 127.0.0.1 ,端口为 8545 3.修改项目文件夹中的 truffle-config.js 文件 使其的 host 和 port 与ganache中 listening on 后面的主机号与端口号一致 如下图所示👇 4.修改项目文件夹下app/src/index.js文件中 http:// 后面的主机号与端口号

[区块链笔记8] 前端js通过metamask的web3与智能合约交互

不羁岁月 提交于 2020-08-05 02:44:47
注意:这是一篇没有任何营养的笔记 文章目录 准备阶段 Ganache与metamask链接 前端页面 第1个bug 第2个bug 今日总结 准备阶段 truffle框架搭建 编写solidity代码 编辑迁移文件 编辑truffle-config.js文件 truffle编译 启动Ganache truffle部署 ps:前几篇笔记里有搭建过程 Ganache与metamask链接 把ganache的12个单词复制到metamask里设置密码 设置metamask网络到http://127.0.0.1:7545 完成链接 前端页面 未完成,因为遇到bug了 在truffle console里面使用的语句到了前端js里面就完全失效,真的已经无语了。这个破东西整了一天,各种百度最后还是没有成功。 希望有明白怎么回事的大佬评论区留言(估计不会有人回答的) ps:等以后再回来做这部分 还是先说一下菜鸡这一天在整的东西吧, 希望大家帮忙看一看,bug在文末说明 先把solidity源码放到remix里面编译一下,拿到他的ABI,放到一个js文件里去。 然后就编写前端代码 < ! DOCTYPE html > < html > < head > < meta charset = "utf-8" > < title > front - web < / title > < script type

SimpleChain Dapp开发入门实例

*爱你&永不变心* 提交于 2020-08-04 10:00:08
SimpleChian技术社区最近准备举办开发挑战赛,很多社区老铁都跃跃欲试想基于SimpleChain开发Dapp应用。鉴于此种情况,本期我们就来聊一下如何基于SimpleChain开发Dapp。 下面是开发Dapp开发的详细过程,流程梳理如下: 环境准备 除了Mac电脑,还需要安装SimpleChain开发的相关环境。环境如下: nodejs truffle solidity testrpc 另外,教程中还会用到webpack,安装教程网上也有很多。这部分如果不熟悉的话请自行查阅学习下。 编写智能合约 前面我们已经安装了 truffle ,我们只需要在 电脑的项目目录下新建conference目录,进入目录执行truffle init,就可以使用truffle这个Dapp前端框架来初始化自己的项目。执行完后建立如下的子目录和文件: contracts/: 智能合约存放的目录,默认情况下已经帮你创建 Migrations.sol合约。 migrations/: 存放部署脚本 test/: 存放测试脚本 truffle.js: truffle的配置文件 修改truffle.js文件,改成如下: module.exports = { networks: { development: { host: "localhost", port: 8545, network_id: "*" //

(三)基于区块链的投票系统的设计与实现

时光总嘲笑我的痴心妄想 提交于 2020-07-23 22:42:58
1 、本地环境的搭建( Windows 10 ) 1.1 安装 nodejs,npm,git,web3,solc ( 1)nodejs:官网下载最新版本 https://nodejs.org/en/download/current/ node.js后续还需安装python2.7与visual studio的c++开发工具包(建议手动)。 ( 2)npm:在Windows下安装nodejs会自带npm ( 3)git:官网下载即可 https://git-scm.com/downloads ( 4)web3: 命令行 npm install web3@0.20.0 ( 5)solc: 命令行 npm install solc 期间可能会经历各种安装 error,但根据提示都可以解决。 2. 用 Truffle完成一个智能合约的部署: 这里我们实现以太坊开发框架 Truffle的配置和运行,并借助Truffle完成一个智能合约的部署。 Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下: -内置的智能合约编译,链接,部署和二进制文件的管理。 -快速开发下的自动合约测试。 -脚本化的,可扩展的部署与发布框架。 -部署到不管多少的公网或私网的网络环境管理功能 -使用EthPM&NPM提供的包管理,使用ERC190标准。

养生-菌类:松露

让人想犯罪 __ 提交于 2020-04-27 11:26:40
ylbtech-养生-菌类:松露 松露(学名:Truffle)是一种 蕈类 的总称,分类为子囊菌门西洋松露科西洋松露属(学名:Tuber)。大约有10种不同的品种,通常是一年生的真菌,多数在 阔叶树 的根部着丝生长,一般生长在松树、栎树、橡树下。 散布于树底方圆120~150厘米,块状主体藏于地下3~40厘米。分布在 意大利 、 法国 、 西班牙 、 中国 、 新西兰 等国。 松露食用气味特殊,含有丰富的 蛋白质 、 氨基酸 等营养物质。松露对生长环境的要求极其苛刻,且无法人工培育,产量稀少,导致了它的珍稀昂贵。因此欧洲人将松露与 鱼子酱 、 鹅肝 并列“世界三大珍肴”。 在众多种类中, 法国产的黑松露 ( Tuber melanosporum Vitt.)与 意大利产的白松露 ( Tuber magnatum Pico)评价最高。 白松露一般生食,磨碎后撒在 意大利面 或煎蛋上 。 可以切成 薄片 加在肉里一同烤制,或用来烤 鹅肝 。有些奶酪中也添加了松露。 黑松露的味道没有白松露那么浓烈,可以做松露盐或松露 蜂蜜 。过去松露要去皮,现在多采用研磨避免浪费。 2016年4月, 澳大利亚发现世界最大松露,重达1.5公斤 。 1. 返回顶部 1、 中文学名:松露 拉丁学名:Truffe 别 称:地菌、块菌、块菰,猪拱菌 界:真菌界 门:子囊菌门 亚 门:盘菌亚门 纲:盘菌纲 亚 纲

极客时间 深入拆解 Java 虚拟机 百度云

冷暖自知 提交于 2020-04-25 01:53:18
开篇词 (1讲) 开篇词 | 为什么我们要学习Java虚拟机? 模块一:Java虚拟机基本原理 (12讲) 01 | Java代码是怎么运行的? 02 | Java的基本类型 03 | Java虚拟机是如何加载Java类的? 04 | JVM是如何执行方法调用的?(上) 05 | JVM是如何执行方法调用的?(下) 06 | JVM是如何处理异常的? 07 | JVM是如何实现反射的? 08 | JVM是怎么实现invokedynamic的?(上) 09 | JVM是怎么实现invokedynamic的?(下) 10 | Java对象的内存布局 11 | 垃圾回收(上) 12 | 垃圾回收(下) 模块二:高效编译 (12讲) 【工具篇】 常用工具介绍 13 | Java内存模型 14 | Java虚拟机是怎么实现synchronized的? 15 | Java语法糖与Java编译器 16 | 即时编译(上) 17 | 即时编译(下) 18 | 即时编译器的中间表达形式 19 | Java字节码(基础篇) 20 | 方法内联(上) 21 | 方法内联(下) 22 | HotSpot虚拟机的intrinsic 23 | 逃逸分析 模块三:代码优化 (10讲) 24 | 字段访问相关优化 25 | 循环优化 26 | 向量化 27 | 注解处理器 28 | 基准测试框架JMH(上) 29

怎么学习区块链技术?

大憨熊 提交于 2020-03-26 17:06:59
3 月,跳不动了?>>> 随着科技的发展,越来越多的专业名词进入人们的生活,本来区块链是一个十分专业性的名词,常常是专业人士才会谈论区块链,但是在现在互联网和大数据的时代,区块链和我们每一个人都是相关的,俺们区块链技术入门应该学习什么呢? 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。 看下面的例子: 比特币是用C ++语言实现的 以太坊有三种不同的编程语言的参考实现:Go语言实现的Geth客户端,C ++语言实现的Eth客户端以及Python语言实现的PyEthApp。 区块链应用平台Lisk采用JavaScript构建。利用JavaScript强大的API,该平台将允许在纯JavaScript中构建不同的区块链应用程序。 在其他语言中还有更多的区块链实现,如Rust,Ruby和ERLANG。 通过简单了解什么是分布式账本和什么是对等网络这些基本原则,您无法熟练掌握区块链技术。你需要能够实现这些原则。唯一的方法是学习相关的编程语言。要了解区块链技术,请按照以下步骤操作。 找出最相关的实现语言 区块链技术的应用范围很广,从智能合约到记录管理