区块链泰山众筹互助商城dapp系统开发合约定制(代币分红模式)技术分析

简介: 区块链泰山众筹互助商城dapp系统开发合约定制(代币分红模式)技术分析

智能合约也是一个以太坊帐户,我们称之为合约帐户。 这意味着它们有余额,可以成为交易的对象。 但是,他们无法被人操控,他们是被部署在网络上作为程序运行着。 个人用户可以通过提交交易执行智能合约的某一个函数来与智能合约进行交互。 智能合约能像常规合约一样定义规则,并通过代码自动强制执行。 默认情况下,您无法删除智能合约,与它们的交互是不可逆的。

配置文件

配置文件位于项目根目录下,文件名为 truffle-config.js。

配置文件内容如下:

module.exports = {

networks: {

development: {

  host: "127.0.0.1",     // Localhost (default: none)

  port: 7545,            // Standard Ethereum port (default: none)

  network_id: "*",         // Any network (default: none)

}

},

compilers: {

solc: {

  version: "0.8.13",      // Fetch exact version from solc-bin

}

}

};

这个配置文件中,development 是我们要部署的区块链配置,这里指我们本地的 Ganache 区块链节点。如果需要部署到其它区块链节点,请修改此配置文件。

智能合约

合约源码

我们来看一下合约的源码,文件名是 MetaCoin.sol。

pragma solidity ^0.8.13;

import "./ConvertLib.sol";

contract MetaCoin {

mapping (address => uint) balances;



event Transfer(address indexed _from, address indexed _to, uint256 _value);

constructor() {

    balances[tx.origin] = 10000;

}



function sendCoin(address receiver, uint amount) public returns(bool sufficient) {

    if (balances[msg.sender] < amount) return false;

    balances[msg.sender] -= amount;

    balances[receiver] += amount;

    emit Transfer(msg.sender, receiver, amount);

    return true;

}


function getBalanceInEth(address addr) public view returns(uint){

    return ConvertLib.convert(getBalance(addr),2);

}



function getBalance(address addr) public view returns(uint) {

    return balances[addr];

}

}

这个合约包含一个构造函数、还定义了一个事件和三个函数。

constructor():合约的构造函数,在合约部署时自动存入一些 token 到发起者的账户。

event Transfer(...):事件。转账交易时触发。

sendCoin(...):将 token 从一个账户转账到另一个账户。

getBalanceInEth(...):取经转换后的账户余额(账户余额*2)。

getBalance(...):取账户余额(单位:1wei)。

测试合约

这个示例定义了两个测试文件,保存在 test 目录下:

metacoin.js 用 JavaScript 编写的测试脚本

TestMetaCoin.sol:用 Solidity 编写的测试脚本

Truffle 自带一个自动化测试框架,可以轻松测试合约,而不需要我们事先部署合约。

相关文章
|
10月前
|
供应链 Serverless BI
基于阿里云区块链服务(BaaS)的供应链金融系统开发与部署
随着区块链技术的快速发展,其在供应链金融领域的应用成为热点。阿里云区块链服务(BaaS)提供安全、高效、易用的平台,支持Hyperledger Fabric和蚂蚁区块链,帮助企业快速构建供应链金融系统。本文通过实战案例展示基于阿里云BaaS开发供应链金融系统的全流程,涵盖企业认证、应收账款融资、交易记录及数据分析等功能,显著提升透明度和可信度,降低融资成本。
|
存储 安全 前端开发
区块链 DAPP 互助逻辑模式系统开发技术方案[源码示例]
Dapp(Decentralized Application)是指不受任何中心化组织或机构控制的、使用特定区块链技术为基础的去中心化应用程序。Dapp 是一种特殊类型的应用,它可以在任何基于区块链技术的系统,例如 Ethereum、EOS 或其他的智能合约系统上运行。
|
存储 安全 区块链
SWAP交易所系统开发|区块链交易所系统开发方案
尽管Web3.0的前景仍然不确定,但像尤派数字传媒这样的先行者正在积极尝试元宇宙,并加速转型的步伐。在面对即将到来的新一代互联网时,尤派数字传媒既不会过于骄傲自大,也不会过于谨小慎微。唯有在当前基础上稳步推进,夯实基础,才能在不确定的环境中获得最大的确定性。
|
存储 前端开发 安全
DAPP区块链商城系统开发(方案逻辑)丨区块链DAPP商城系统开发(案例设计)/开发项目/源码部署
 区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。从本质上看,区块链是通过去中心化和去信任化,集体维护、分布式存储的可靠数据库。
|
开发框架 安全 前端开发
区块链财务管理平台如何开发?区块链财务管理平台开发源码规则解析
开发一个区块链财务管理平台需要多个方面的技术和知识,以下是一些可能的步骤和考虑因素:
|
新零售 人工智能 算法
农场养成种树游戏系统开发(案例项目)丨区块链DAPP种树游戏系统开发(开发案例)及源码方案
  即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。
|
存储 安全 区块链
区块链游戏系统开发(开发详细)/案例开发/设计功能/逻辑方案/源码平台
  区块链游戏系统开发是一个复杂而精密的过程。首先,需要进行需求分析和规划,确定游戏系统的功能和特性。然后,进行技术选型和架构设计,选择适合的区块链平台和开发工具。接下来,进行系统的搭建和编码,实现游戏逻辑和用户交互功能。最后,进行测试和优化,确保系统的稳定性和性能。
|
安全 Go 区块链
区块链游戏链游系统开发功能详情丨方案逻辑丨开发项目丨案例分析丨源码规则
 In recent years, with the continuous development of blockchain technology, NFTs (non homogeneous tokens) and DAPPs (decentralized applications) have emerged in the gaming industry.
|
存储 JavaScript 前端开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
|
存储 机器人 大数据
量化交易机器人系统开发(开发策略)及案例丨数字货币区块链交易所系统开发详细项目/方案设计/开发逻辑/源码版
  区块链的核心技术之一就是公开且透明的交易信息。一般情况下,在区块链内产生、流转和存储的信息是对所有节点用户开放的,其高度的透明化也使得区块内的所有人都能够查看数据的所有相关信息同时使用其应用。因此,区块链技术在信息共享与数据交换领域具有一定的优势。