智能合约是一种只有通过区块链才能实现的新技术。普通、标准的合同涵盖了当事人之间协议的条款,且常通过法律来强制执行;智能合约是数字化的,存储在区块链中,并使用加密代码强制执行协议。
换句话说,智能合约只是软件程序,与所有程序一样,它们完全按照程序员的意图执行。智能合约就像编程应用程序一样:“一旦出现,就去执行。”
Forsage是一种流行的MLM加密计划,它允许用户通过以下方式赚取以太坊货币2种矩阵推荐结构。牧草是基于智能合约的去中心化生态系统因此。使技术设置完全可用并自动化,从而可以在安全平稳。
Forsage程序采用二进制矩阵结构的Gifting方案。矩阵有2种类型X3矩阵和X4矩阵您可以选择与任何人一起骑自行车。要开始使用任何矩阵循环,您必须支付0.05ETH费用(加入费用),然后开始通过您的推荐链接推荐人。
Forsage循环仪中使用的矩阵大小为3×1和2×2。3×1矩阵本质上很简单,只需要填充三个位置即可。2×2矩阵从第一层的两个位置开始,然后扩展到第二层的四个位置。职位通过直接和间接招募Forsage会员来填补。一旦矩阵中的所有位置都被填满,就激活循环佣金。从矩阵出来的位置也将输入相同大小的新矩阵。
该智能合约也被称为以太坊区块链矩阵项目,应该为任何参与者提供“直接进行个人和商业交易的能力”。该网站本身(最多)是模糊的,试图以这种数字资产和区块链技术的已知术语诱使其他人进入加密货币领域。或多或少,看起来似乎比其使用这些术语所暗示的要更加了解。
分布式全球共享矩阵项目的智能合约是公开的,永远可以在以太坊区块链上查看。
DAPP智能合约优势解析
1、不可篡改
Forsage在以太坊区块链上部署了一个自我执行的智能合约,该合约永久存在,任何人永远都无法修改。无限期访问是智能合约中编程的一个固有功能,以使持续参与在矩阵项目中。
2、去中心化点对点链上支付
是一个智能合约的支付网关,可以促进其计划参与者之间的点对点佣金支付,直接100%进到参与者的去中心化钱包。
3、自治性
一个众筹的分散矩阵项目,专门设计通过为新人提供无缝的介绍来刺激全球重新定位到加密生态系统,让以太坊获得更多人的共识。(无层次组织)
4、透明度和匿名性
项目数据透明公开,统计以及其合作伙伴的交易历史在以太坊区块链上可公开查询。去中心化的钱包可以匿名参与。(数据透明,财富匿名)
5、交易担保
网络节点不可撤销地记录并广泛存储以太坊区块链上所有Forsage网络合作伙伴的交易历史
pragma solidity >=0.4.23 <0.6.0;
contract SmartMatrixForsage {
struct User {
uint id;
address referrer;
uint partnersCount;
mapping(uint8 => bool) activeX3Levels;
mapping(uint8 => bool) activeX6Levels;
mapping(uint8 => X3) x3Matrix;
mapping(uint8 => X6) x6Matrix;
}
struct X3 {
address currentReferrer;
address[] referrals;
bool blocked;
uint reinvestCount;
}
struct X6 {
address currentReferrer;
address[] firstLevelReferrals;
address[] secondLevelReferrals;
bool blocked;
uint reinvestCount;
address closedPart;
}
uint8 public constant LAST_LEVEL = 12;
mapping(address => User) public users;
mapping(uint => address) public idToAddress;
mapping(uint => address) public userIds;
mapping(address => uint) public balances;
uint public lastUserId = 2;
address public owner;
mapping(uint8 => uint) public levelPrice;
event Registration(address indexed user, address indexed referrer, uint indexed userId, uint referrerId);
event Reinvest(address indexed user, address indexed currentReferrer, address indexed caller, uint8 matrix, uint8 level);
event Upgrade(address indexed user, address indexed referrer, uint8 matrix, uint8 level);
event NewUserPlace(address indexed user, address indexed referrer, uint8 matrix, uint8 level, uint8 place);
event MissedEthReceive(address indexed receiver, address indexed from, uint8 matrix, uint8 level);
event SentExtraEthDividends(address indexed from, address indexed receiver, uint8 matrix, uint8 level);
constructor(address ownerAddress) public {
levelPrice[1] = 0.025 ether;
for (uint8 i = 2; i <= LAST_LEVEL; i++) {
levelPrice[i] = levelPrice[i-1] * 2;
}
owner = ownerAddress;
User memory user = User({
id: 1,
referrer: address(0),
partnersCount: uint(0)
});
users[ownerAddress] = user;
idToAddress[1] = ownerAddress;
for (uint8 i = 1; i <= LAST_LEVEL; i++) {
users[ownerAddress].activeX3Levels[i] = true;
users[ownerAddress].activeX6Levels[i] = true;
}
userIds[1] = ownerAddress;
}
function() external payable {
if(msg.data.length == 0) {
return registration(msg.sender, owner);
}
registration(msg.sender, bytesToAddress(msg.data));
}
function registrationExt(address referrerAddress) external payable {
registration(msg.sender, referrerAddress);
}