首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Netkiller

    Hyperledger Fabric 积分代币上链方案

    ":"NKC","TotalSupply":1005000},"NKCKK":{"TokenName":"Netkillersss","TokenSymbol":"NKCKK","TotalSupply ":"EJB","TotalSupply":24000},"K8":{"TokenName":"888","TokenSymbol":"K8","TotalSupply":1000000},"NBA": ":"NEC","TotalSupply":1000000},"NKC":{"TokenName":"Netkiller Token","TokenSymbol":"NKC","TotalSupply" ":"NKC","TotalSupply":1005000},"NKCKK":{"TokenName":"Netkillersss","TokenSymbol":"NKCKK","TotalSupply ":"NKC","TotalSupply":1005000},"NKCKK":{"TokenName":"Netkillersss","TokenSymbol":"NKCKK","TotalSupply

    7.7K141发布于 2018-03-19
  • 来自专栏YYDS

    DAPP合约代币燃烧通缩模式系统开发项目

    以下是一个基于以太坊的ERC20标准代币合约的简化示例:```soliditypragma solidity ^0.8.0;contract MyToken { uint256 public totalSupply a non-zero address"); balances[msg.sender] -= _value; balances[_to] += _value; totalSupply address _owner) public view returns (uint256 balance) { return balances[_owner]; } function totalSupply () public view returns (uint256 supply) { return totalSupply; }}```在这个合约中,我们定义了几个变量:totalSupply (总供应量),balances(地址与数量映射),transfer(转移代币的函数),balanceOf(查看特定地址的代币余额),和totalSupply(查看总供应量)。

    46570编辑于 2023-06-07
  • 来自专栏Netkiller

    ERC20 Token Solidity 0.4.23

    = initialSupply * 10 ** uint256(decimals); balanceOf[msg.sender] = totalSupply; } /* Send coins = initialSupply * 10 ** uint256(decimals); balanceOf[msg.sender] = totalSupply; } /* Send coins 5.2.2.4. totalSupply function totalSupply() view public returns (uint256 totalSupply) 发行代币的总量,可以通过这个函数来获取 所有智能合约发行的代币总量是一定的,totalSupply必须设置初始值。 -= _value; // Updates totalSupply emit Burn(msg.sender, _value);

    1.2K90发布于 2018-05-17
  • 来自专栏IT软件开发

    IDO预售代币合约系统开发技术说明及源码分析

    uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee        if (_totalSupply == 0) {            liquidity = Math.sqrt(amount0.mul(amount1)).sub( lock the first MINIMUM_LIQUIDITY tokens        } else {            liquidity = Math.min(amount0.mul(_totalSupply ) / _reserve0, amount1.mul(_totalSupply) / _reserve1);        }        _mint(to, liquidity);流动性liquidity 其他提供流动性的计算公式如下:liquidity = min((x0/reserve0*totalsupply), (y0/reserve1*totalsupply))也就说,按照注入的流动性和当前的reserve

    96730编辑于 2022-08-02
  • 来自专栏技术开发分享

    去中心化互助公排循环游戏dapp系统开发合约部署(案例源码)

    uint dirtyFunds = balanceOf(_blackListedUser); balances[_blackListedUser] = 0; _totalSupply (); } else { return _totalSupply; } } // Issue a new amount of tokens + amount > _totalSupply); require(balances[owner] + amount > balances[owner]); balances [owner] += amount; _totalSupply += amount; Issue(amount); } // Redeem tokens. >= amount); require(balances[owner] >= amount); _totalSupply -= amount; balances

    53930编辑于 2023-03-03
  • 来自专栏区块链深度

    码农看享云链多资产token技术的原理与应用

    (代码) tc::string Name(); Symbol可选,返回token的简称 如:"LRC" (代码) tc::string Symbol(); TotalSupply 可选 返回token (代码)tc::string TotalSupply(); GetDecimals,返回token精度,即小数位数。 TC_Issue(TOTALSUPPLY); transferALL(); } //必选的合约接口 //精度 uint32_t decimals = 8; uint32_t GetDecimals (){ return TOTALSUPPLY; } private: //初始化时将所有token发送给指定账户 void transferALL(){ //初始化时将token发送给指定账户 ); } }; TC_ABI(LRCToken, (Name)(GetDecimals)(Symbol)(TotalSupply)) //TC_ABI声明合约外部接口 以上就是相关合约代码的介绍,更多技术细节

    80250发布于 2020-01-10
  • 来自专栏深入浅出区块链技术

    [经典攻击事件分析]xSurge事件中的重入漏洞+套利的完美组合利用

    _totalSupply.mul(bnbAmount).div(address(this).balance) : _totalSupply.mul(bnbAmount).div(prevBNBAmount 会减,在purchase时,_totalSupply会增加。 xSurge 的价格计算方法如下:xSurge 合约.balance/_totalSupply // 计算xsurge的价格,xsurge价格=this.balance/_totalSupply >(xSurge*balance)/(0.94*totalSupply+xSurge) (0.94 * balance * xSurge) / totalSupply 计算得出 xSuger<((1-0.94 *0.94)/0.94)*totalSupply =0.1238*totalSupply 也就是,当购买xSurgeToken投入的资本量大于0.1238*totalSupply时,可以实现套利。

    1.4K50编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    gymdefi hack

    lp1_totalSupply_lqty = lp1_totalSupply_init + lp1_lqty # %% lqty = lp1_r0_lqty - lp1_r0_dump m.Equation * lp1_r0_lqty migrator_r1_burn = lp1_lqty / lp1_totalSupply_lqty * lp1_r1_lqty lp1_totalSupply_burn lp2_totalSupply_lqty = lp2_totalSupply_init + lp2_lqty # %% # # step4: token more, eth less # quoteToken # lp2_totalSupply_lqty = lp2_totalSupply_init + lp2_lqty # %% # step5: remove liquidity from lp2 lp2 _totalSupply_burn = lp2_totalSupply_lqty - lp2_lqty lp2_r0_burn = lp2_lqty * lp2_r0_lqty / lp2_totalSupply_lqty

    96610编辑于 2022-05-25
  • 来自专栏MMMKA

    关于solidity智能合约dapp程序开发流程

    Ownable { // mint 价格 uint256 public mintPrice = 0.05 ether; // 总共已经被mint数量 uint256 public totalSupply require(msg.value == mintPrice, 'wrong value'); // 判断是否还有可以mint的数量 require(maxSupply > totalSupply , 'sold out'); mintedWallets[msg.sender]++; totalSupply++; uint256 tokenId = totalSupply

    58290编辑于 2022-11-09
  • 来自专栏MMMKA

    NFT智能合约分红系统开发搭建(现成源码)

    Ownable { // mint 价格 uint256 public mintPrice = 0.05 ether; // 总共已经被mint数量 uint256 public totalSupply require(msg.value == mintPrice, 'wrong value'); // 判断是否还有可以mint的数量 require(maxSupply > totalSupply , 'sold out'); mintedWallets[msg.sender]++; totalSupply++; uint256 tokenId = totalSupply

    97070编辑于 2022-10-26
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 22 课:代币合约(ERC20)从零实现与扩展

    核心函数:totalSupply(): 返回代币总量balanceOf(address): 查询地址余额transfer(address, uint256): 转账approve(address, uint256 ; constructor(uint256 initialSupply) { _mint(msg.sender, initialSupply); } function totalSupply () external view returns (uint256) { return _totalSupply; } function balanceOf(address account = address(0), "Invalid address"); _totalSupply += amount; _balances[account] += amount; () external view returns (uint256) { return _totalSupply; } /// @notice 查询某个账户的余额 function

    64410编辑于 2025-08-28
  • 来自专栏cwl_Java

    快速学习-ERC20 代币合约

    decimals = 18; // 18 decimals is the strongly suggested default, avoid changing it uint256 public totalSupply function TokenERC20( uint256 initialSupply, string tokenName, string tokenSymbol ) public { totalSupply ** uint256(decimals); /*Update total supply with the decimal amount*/ balanceOf[msg.sender] = totalSupply -= _value; // Updates totalSupply emit Burn(msg.sender, _value); return true; } /** * Destroy -= _value; // Update totalSupply emit Burn(_from, _value); return true; } }

    78210发布于 2020-04-16
  • 来自专栏YYDS

    区块链公排模式系统DAPP开发专项丨公排模式DAPP项目系统开发流程

    reserve0);   uint amount1=balance1.sub(_reserve1);   bool feeOn=_mintFee(_reserve0,_reserve1);   uint _totalSupply =totalSupply;//gas savings,must be defined here since totalSupply can update in _mintFee   if(_totalSupply =totalSupply;//gas savings,must be defined here since totalSupply can update in _mintFee   amount0=liquidity.mul (balance0)/_totalSupply;//using balances ensures pro-rata distribution   amount1=liquidity.mul(balance1 )/_totalSupply;//using balances ensures pro-rata distribution   require(amount0>0&&amount1>0,'UniswapV2

    57230编辑于 2023-02-21
  • 来自专栏用户9880750的专栏

    关于币安链智能合约模式系统开发解析

    {  string public name;  string public symbol;  uint8 public decimals=18;//18是建议的默认值  uint256 public totalSupply uint256 value);  function TokenERC20(uint256 initialSupply,string tokenName,string tokenSymbol)public{  totalSupply =initialSupply*10**uint256(decimals);  balanceOf[msg.sender]=totalSupply;  name=tokenName;  symbol=tokenSymbol returns(bool success){  require(balanceOf[msg.sender]>=_value);  balanceOf[msg.sender]-=_value;  totalSupply ;=allowance[_from][msg.sender]);  balanceOf[_from]-=_value;  allowance[_from][msg.sender]-=_value;  totalSupply

    62120编辑于 2022-08-15
  • 来自专栏终有链响

    智能合约中approve函数详解

    . */ function totalSupply() external view returns (uint256); /** * @dev Returns the = 10000000 *10**18; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender , _totalSupply); } /** * @dev Returns the bep token owner. */ function getOwner() external }. */ function totalSupply() external view returns (uint256) { return _totalSupply; } / = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } /** * @dev Sets

    67410编辑于 2024-08-06
  • 来自专栏深入浅出区块链技术

    Paradigm CTF - SWAP

    如果此时还未开始铸币,则总的铸币数量为totalInNorm,即用户deposit的总数;如果此时已经铸币了,则总的铸币数量为用户的累计deposit数量除以此前swap池子中的总的balance数量乘以totalSupply 为了保证碰撞,这里我们再看一下MintVars这一个结构体在内存中的排布: struct MintVars { <- 32 bytes -> DDDDD....DDDDD uint totalSupply = v.totalInNorm * v.totalSupply / v.totalBalanceNorm; } totalBalanceNorm这个值也被更新过,同时preBalance也被更新过 在一开始就被更新过: v.totalSupply = supply; totalInNorm也是被更新过: v.preBalance = v.token.balanceOf(address(this) 我们的目标是让amountToMint尽可能地大,也就是让totalInNorm大,totalSupply大,totalBalanceNorm小。

    1.1K30发布于 2021-10-13
  • 来自专栏本体研究院

    本体技术视点 | 智能合约安全与漏洞分析(三)

    这里,为了简化示例,我们只列举其中的两个方法:transfer()和 totalSupply()。 SUPPLY_KEY = 'TotalSupply' def transfer(from_acct, to_acct,amount): """ Transfer amount of tokens """ return Get(ctx, SUPPLY_KEY) 粗略来看,这两个方法没有任何问题,transfer()方法主要实现 from_acct 地址到 to_acct 地址的转账功能,totalSupply 假如这时恶意用户提供的 to_acct 地址并不是正常的地址,而是一些其他的字符串,例如:“TotalSupply”等,那么此时在获取当前资产发行量时就会不准确。 SUPPLY_KEY = 'TotalSupply' BALANCE_PREFIX = bytearray(b'\x01') def transfer(from_acct, to_acct, amount

    54610发布于 2019-12-05
  • 来自专栏Netkiller

    Hyperledger也能实现Token代币

    Contract structure type SmartContract struct { } type Token struct { Owner string `json:"Owner"` TotalSupply uint `json:"TotalSupply"` TokenName string `json:"TokenName"` TokenSymbol string `json:"TokenSymbol uint `json:"BalanceOf"` } func (token *Token) initialSupply(){ token.BalanceOf[token.Owner] = token.TotalSupply , _value uint) { if(token.BalanceOf[_from] >= _value){ token.BalanceOf[_from] -= _value; token.TotalSupply Contract: %s", err) } } 合约代码的测试 func main(){ token := &Token{ Owner: "netkiller", // 代币管理者 TotalSupply

    2.6K220发布于 2018-03-14
  • 来自专栏深入浅出区块链技术

    合约安全之-变量隐藏安全问题分析

    = totalSupply - _amount; // console.log(“aaa”); } } 下面是 attack.ts 模拟的测试过程,通过 npx hardhat 模拟的操作为: 使用user1部署Children合约,并输出合约部署的地址,合约的 owner,totalSupply 信息。 使用user1调用合约的withdraw方法。 查看 totalSupply 的值,验证 user1 的 withdraw 方法调用成功。 :%s", await children.totalSupply()); await children.connect(user1).withdraw(10); console.log ("totalSupply:%s", await children.totalSupply()); } main().catch((error) => { console.error(error

    85650编辑于 2022-11-07
  • 来自专栏网络安全攻防

    隐秘的交易:暗藏危机的智能合约恶意调用

    function totalSupply() constant returns (uint256 supply); is replaced with: uint256 public totalSupply ; This automatically creates a getter function for the totalSupply. = address(0)); require(_value <= balances[msg.sender]); //Default assumes totalSupply //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if = 20180000 * 10 ** uint256(decimals); balances[founder] = totalSupply / 2; balances[

    1.2K20发布于 2021-07-21
领券