Select Page
使用 Openzeppelin 和 Remix 發幣,可以擴充、投票、分潤、管理

使用 Openzeppelin 和 Remix 發幣,可以擴充、投票、分潤、管理

之前推薦過一鍵發幣,那是懶人作法,適合快速且只想要簡單發幣的人,給點錢就能快速地解決問題,但真實的社會是不是這麼簡單的,真正的發幣行為應該是撰寫智能合約,通過第三方驗證,證明無漏洞後,並且發佈在區塊鏈上,聽起來很難,但看過這篇文章後,整個過程也是5分鐘內而已。

OpenZeppeLin 智能合約範本

首先要使用 OpenZeppeLin 來產生你發幣用智能合約,在 OpenZeppeLin 上面可以找到很多範本,可以直接引入即可,但更簡單的方法是使用 OpenZeppeLine精靈 來快速產生智能合約程式碼。

https://wizard.openzeppelin.com/

在這個畫面中如果要簡單發幣的話,可以填入 Name (代幣名稱), Symbol(代幣的代號), Premint (欲鑄的貨幣數量)的資料就可以了,常用的進階功能則有 Burnable, Votes, Pausable, 如果你是為了公司發行,可以在 Access Control 中選擇 Roles 然後建立自己的控制規則,可以多人控管開發行的貨幣

Remix 上發行貨幣

在 OpenZeppeLin 畫面上按下 Open in Remix 按鈕,就可以直接將合約範本直接帶入到 Remix

1.先連結你的 MetaMask 小狐狸錢包

2.選擇對應的編譯器,然後按下編譯,以本例是 0.8.4 版本的編譯器,Solidity 語法

3.將代幣發佈到區塊鏈上,環境選擇 Injected Web3, 並且注意你的 MetaMask 連結的網路是那哩,以我的圖片例子是選在 Ploygon 的測試鏈上,然後發佈的合約要選擇倒剛剛寫好的 ShaneToken, 設定無誤後按下 Deploy 即可發行

5.在 MetaMask 中確認合約正確性,注意發行到的網路是否正確,以及看一下 Gas Fee 多少錢,本例是發行在 Ploygon 上,所以使用的代幣是 MATIC ,自己的錢包有沒有對應的代幣可以支付,檢查完畢按下確認後就可以發行成功了

最後要將代幣匯入到 MetaMask 中

可以在 Polygonscan 中找到你得合約網址

將合約地址填回 MetaMask 就大功告成囉

可以在自己的錢包中看到自己發行的代幣,當個有錢人

延伸閱讀,利用 OpenZeppelin 來發NFT

https://www.frank.hk/blog/nft-smart-contract/

https://wizard.openzeppelin.com/#erc721

測試鏈做測試

測試時,需要去水龍頭那邊取得手續費用

NameLink
polygon-mumbaiPolygon Faucet
harmonyFaucet || Harmony Testnet
Cronoshttps://cronos.crypto.org/faucet
iotexIoTeX Faucet – Getting IoTeX for development
BscBinance Smart Chain: Faucet
HecoHuobi ECO Chain
常用測試鏈

SOL原始程式碼

如果不能用精靈產生程式碼,可以直接複製下面的程式碼

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20SnapshotUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/draft-ERC20PermitUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20VotesUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20FlashMintUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";

contract TestToken is Initializable, ERC20Upgradeable, ERC20BurnableUpgradeable, ERC20SnapshotUpgradeable, OwnableUpgradeable, PausableUpgradeable, ERC20PermitUpgradeable, ERC20VotesUpgradeable, ERC20FlashMintUpgradeable {
    /// @custom:oz-upgrades-unsafe-allow constructor
    constructor() {
        _disableInitializers();
    }

    function initialize() initializer public {
        __ERC20_init("Test Token", TST");
        __ERC20Burnable_init();
        __ERC20Snapshot_init();
        __Ownable_init();
        __Pausable_init();
        __ERC20Permit_init("Shane Token");
        __ERC20Votes_init();
        __ERC20FlashMint_init();

        _mint(msg.sender, 100000000 * 10 ** decimals());
    }

    function snapshot() public onlyOwner {
        _snapshot();
    }

    function pause() public onlyOwner {
        _pause();
    }

    function unpause() public onlyOwner {
        _unpause();
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override(ERC20Upgradeable, ERC20SnapshotUpgradeable)
    {
        super._beforeTokenTransfer(from, to, amount);
    }

    // The following functions are overrides required by Solidity.

    function _afterTokenTransfer(address from, address to, uint256 amount)
        internal
        override(ERC20Upgradeable, ERC20VotesUpgradeable)
    {
        super._afterTokenTransfer(from, to, amount);
    }

    function _mint(address to, uint256 amount)
        internal
        override(ERC20Upgradeable, ERC20VotesUpgradeable)
    {
        super._mint(to, amount);
    }

    function _burn(address account, uint256 amount)
        internal
        override(ERC20Upgradeable, ERC20VotesUpgradeable)
    {
        super._burn(account, amount);
    }
}

基本的發幣程式碼,支持可以維護以及可以銷毀

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

/// @custom:security-contact 
contract TestTokenMintableBurnable is ERC20, ERC20Burnable, Ownable {
    constructor() ERC20("Test Token Mintable Burnable", "TTMB") {
        _mint(msg.sender, 100000000 * 10 ** decimals());
    }

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

發幣之後,驗證合約的安全性

發幣前後都要利用 CoinTool ,來驗證的你合約安全,才會讓大眾們信任

IOTA 鏈上發行 NFT 筆記 – Soonaverse 懶人包

IOTA 鏈上發行 NFT 筆記 – Soonaverse 懶人包

IOTA 這麼好的鏈,但確一直缺乏應用,甚至連發行自己的 Token 以及 NFT 都很難在這條鏈上發行,但最近 Soonaverse 的崛起,很大的程度讓不懂程式的使用者可以像是在公海 OpenSea 中發行一個 NFT ,但老實說還是有進入障礙,所以還是留下懶人包以及筆記。

1.先取得 MetaMask (必要)

MetaMask – Desktop – Welcome to the Soonaverse

2.設定 MetaMask 連結 IOTA

Adding the IOTA EVM Network – Desktop – Welcome to the Soonaverse

Network Name: IOTA EVM

TestnetNew RPC URL: https://evm.wasp.sc.iota.org

Chain ID: 1074

Currency Symbol: IOTA

Block Explorer URL: https://explorer.wasp.sc.iota.org

3. Soonaverse 設定基本資料

Profile – Desktop – Welcome to the Soonaverse

4.下載 IOTA 官方錢包 FireFly

IOTA – 螢火蟲錢包 FireFly Wallet – 雨 (rain.tips)

5.取得 MI 幣

透過幣安購買MITAC幣並且出金到 FireFly 錢包中,我是買最低的金額大約 80 mi 幣,因為等等驗證時候他會還錢給你,所以並不用多錢,只需要最低金額即可。

6.利用 FireFly 驗證 IOTA 地址

https://docs.soonaverse.com/en/all-users-getting-started/verifying-your-iota-wallet

7.建立空間 Space

https://docs.soonaverse.com/en/space-owners-getting-started/building-a-space

https://soonaverse.com/space/0x5fcc5562385e6c2f6b0a5934280e5d11274f8e07/overview

8.建立空間中的勳章和發行NFT勳章

https://soonaverse.com/space/0x5fcc5562385e6c2f6b0a5934280e5d11274f8e07/awards

9.創建 NFT

https://docs.soonaverse.com/en/nft-creators-getting-started/creating-an-nft-collection

10.投票以及勳章(非必要)

https://docs.soonaverse.com/en/space-owners-getting-started/creating-a-proposal

https://docs.soonaverse.com/en/space-owners-getting-started/making-an-award

勳章可以用來設置優惠價格以及贈送 NFT

11.參考資料

Home – Bruits. Studio

NFT IOTA Marketplace (thepylon.app)

share-your-listed-nft (discord.com)

Home | IOTA

IOTA Pay for WordPress – 雨 (rain.tips)

Opensea 上架 NFT 可以支援 Polygon 鏈以及全幅環景圖

Opensea 上架 NFT 可以支援 Polygon 鏈以及全幅環景圖

戈壁挑戰賽-玄奘之路-第四屆-交流

最近最多人使用的 NFT 平台 OpenSea 也開始支援了 Polygon 鏈,並且發行 NFT 並不用任何的費用,之後有賣出並且成交的交易手續費收取 2.5% 也是相當合理,我想可以大量的使用他來上鏈了,剛好也有疑惑,鏈上的 NFT 一定是需要正正方方的嗎?我手上的3D圖、環景圖可不可以使用,經過測試以及驗證發現都是可以用的,說明如下:

1.建立新的 NFT

進入 OpenSea 並且選擇 Create (建立)

2.上傳圖片以及填寫相關資訊

必要資訊有

  • Image, Video, Audio, or 3D Model (圖片、影片、聲音、3D模型檔)
  • Name 名稱
  • Blockchain 區塊鏈
OpenSea 上架 NFT 相關資訊

3.選擇區塊鏈

區塊鏈預設是以太坊
記得可以改成 Polygon 鏈

4. NFT 建立完成

建立 NFT 完成後就可以分享以及蒐藏到你的 MetaMask 錢包中了

5.販賣 NFT

選擇 Sell 鈕可以開始為你的 NFT 定價格
OpenSea 中的 NFT 最低定價是 5 美元,換算台幣和 ETH 的話,建議最低由 0.002 ETH 開始,當然沒有人可以阻擋你設定高價

6.將 NFT 收藏放到 MetaMask 小狐狸上

在 OpenSea 中查看你的資產,例如我這個 NFT 的連結,https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/4569312194679960174525000099739852468515614363778901331080870246133440446465/

找到 Details 資訊

將 Contract Address 以及 Token ID 複製出來

Contract Address : 0x2953399124f0cbb46d2cbacd8a89cf0599974963

Token ID : 4569312194679960174525000099739852468515614363778901331080870246133440446465

並且把這兩個資訊輸入回你的 MetaMask 小狐狸錢包中即可看到你自己得收藏品了,記得狐狸錢包中要把鏈改成 Polygon

下載圖片以及上傳圖片比較

左邊是由 OpenSea 下載下來的圖檔,右邊是我上傳上去的原始圖檔

連結

OpenSea NFT Gobi-RUC-NTU

NFT Gobi-RUC-NTU 圖片下載

合約位置:https://polygonscan.com/address/0x2953399124f0cbb46d2cbacd8a89cf0599974963

Token ID : 4569312194679960174525000099739852468515614363778901331080870246133440446465

BSC Binance Smart Chain 幣安智能鏈上發幣

BSC Binance Smart Chain 幣安智能鏈上發幣

經過嘗試後,我想分別介紹大家三種在幣安智能鏈鏈發幣的方法,分別是手動在 Remix 上撰寫智能合約,利用 CoinTool V2 (V1已經不支援了)發一個可以分潤給別人的代幣(Token)以及最簡單的老牌 TokenDIY 一鍵發幣,只要填寫三個重要參數即可發幣完成。

TokenDIY 一鍵發幣

先進入網頁後並且用 MetaMask 連結 TokenDIY,並且選擇到正確的鏈上,本例是幣安鏈

提供 MetaMask 連結幣安鏈的參數

  • Network Name/網絡名稱: BSC Mainnet
  • New RPC URL/節點網址:https://bsc-dataseed.binance.org
  • Chain ID/鏈標識:0x38
  • Symbol/貨幣符號:BNB
  • Block Explorer URL/區塊瀏覽器網址:https://bsscan.com/

連結完成就可以依序填入參數

http://bsc.tokendiy.defiplot.com/#/

一鍵發幣共有四個參數,但小數位數建議用預設的18位數,可以去掉一個,其他的就只要填寫代幣名稱,代幣符號、和發行量即可,可以試試看我的範本。

  • 代幣名稱 : Study Attention Token (學習專注幣)
  • 代幣符號 : SAT (簡稱)
  • 小數位數 : 18 (預設)
  • 總發行量 : 100000000 (1後面8個0唯一億枚)

BSC發行手續費用

本次是 0.09360553 BNB,當天匯率是  $455.05 BUSD/BNB,換算下來是 $1,150元台幣,供參考

發行完畢後,會將發行的代幣放到你連結的帳戶中,就可以有1億枚代幣進行你的商模

查詢代幣合約 BscScan

已本發行的 SAT 幣為例,在發行完成後可以將網路複製下來,並且到 BSC SCAN 中去查詢,可以看到發行了1億枚,放到一個位置去,接下來的步驟要去 SWAP 創造一個你想要瞄定的價位,舉例來說是1美元或是1新台幣,然後就可以進行空投了。

https://bscscan.com/token/0xa8131e144887ce0617fc1b5be62cd3cb744f740c


TokenTool 發行可以自動銷毀、分潤的代幣

TokenTool 其實也算是一鍵發幣,動作跟上面一樣,只是多了參數可以使用


ReMix 實作智能合約發幣

本次採用的是全能分紅代幣,程式碼蠻新的,功能也很多,具有參考價值

RedKing.sol智能合約位置

https://github.com/misu2022/contracts

編譯器為 v0.8.7+commit.e28d00a7.js

部署參數

name_: RedKing Token (代币名称)
symbol_: RedKing (代币符号)
totalSupply_: 1000000000000000 (发行量)
rewardAddr_: 要分红的代币合约,BSC常用代币地址在下方
marketingWalletAddr_: 自己的市场营销钱包
serviceAddr_: 0xFe4192C1f01b26b33D89feAA9551bcF6B3637CB4
buyFeeSetting_: [4,3,2,1] (分红、流动性、市场营销、燃烧)
sellFeeSetting_: [5,4,3,2] (分红、流动性、市场营销、燃烧)
tokenBalanceForReward_: 1000000000000000000000000000 (持有多少代币参与分红。数量后要加18个0)

參考資料

https://min.news/zh-tw/tech/b4369e93850404697c6fbbc54284fdfd.html

另外一個一鍵發幣的網站服務 TokenBB

TokenTool 可以學習創建分潤代幣的地方

CoinTool 合約安全檢查

延伸閱讀

以太坊殺手 Harmony One ,交易速度快,1秒處理2000個交易

以太坊殺手 Harmony One ,交易速度快,1秒處理2000個交易

最近使用 Tatum API 架設了NFT 市集,但問題來了,上鍊的費用又貴又慢,我只是想測試和學習一下 NFT 的商務應用,發現了只要把 NFT 上到 Harmony (ONE) 上,就可以免交易費用,而且速度超快,而且 Harmony 鏈是以太鏈分出來的,可以說是 ERC 20 的完成版,可以跟幣安交易所以及MetaMask高度整合,可以安心使用。

Harmony One 的技術影片

如何將 Harmony 連結 MetaMask

https://coinmarketcap.com/alexandria/article/how-to-connect-metamask-to-harmony

  • 網路名稱:Harmony
  • RPC URL:https://api.harmony.one
  • 鏈ID:1666600000
  • Currency Symbol:ONE
  • 區塊鏈瀏覽器:https://explorer.harmony.one
MetaMask 新增 Harmony 網路的重要參數

Harmony 重要技術支援

  • 實現了 Sharding 分片技術
  • 支援 EVM ,可以快速地將以太坊的應用遷移
  • ONE 硬幣用作 EPos 共識的質押工具
  • Staking 用戶獲得區塊獎勵和交易費用

Harmony 快速歷史

  • Harmony ONE 硬幣於 2018 年 5 月開始銷售
  • 一枚硬幣以 0.0065 美元的價格售出 1800 萬美元
  • Harmony (ONE) 的最大供應量為 12,600,000,000 個代幣
  • 幣安、Gate.io、BitMax可以購買以及交易
  • 團隊募資了300萬美金來建立生態系
  • 早期 ONE 幣也是幣安的 IEO 項目之一
  • 查詢目前價格 https://www.binance.com/zh-TW/price/harmony

Harmony 生態系

來看看最近架設的 cryptolife.run ,看看優秀的 NFT 項目,以及用加密貨幣購買冷凍食品