develop custom_top_html:no
default debug random = 1 / type = READ / detected = READ
30분만에 ICO하기
 
안녕하세요. 오늘은 조금 자극적인 제목을 가지고 와봤습니다. 요즘 ICO 많이들 참여하시고,  직접 하시는 분들도 많이 계신데요. ICO에 필요한 토큰을 단 30분 만에 발행하는 방법을 소개해볼까 합니다.
 
준비물은 단 한 가지. mist 지갑입니다. 이 mist 지갑에는 스마트 컨트랙을 발행하는 기능이 있는데요. 여기에 아래와 같이 ERC20 표준에 해당하는 코드를 넣고 발행하기만 하면, 순식간에 토큰 하나가 뚝딱 만들어집니다.
 
코드 예시 : 
 
pragma solidity ^0.4.16;
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
contract TokenERC20 {
    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public totalSupply;
    // This creates an array with all balances
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;
    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);
    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);
    /**
     * Constructor function
     *
     * Initializes contract with initial supply tokens to the creator of the contract
     */
    function TokenERC20(
        uint256 initialSupply,
        string tokenName,
        string tokenSymbol
    ) public {
        totalSupply = initialSupply * 10 ** uint256(decimals);  // Update total supply with the decimal amount
        balanceOf[msg.sender] = totalSupply;                // Give the creator all initial tokens
        name = tokenName;                                   // Set the name for display purposes
        symbol = tokenSymbol;                               // Set the symbol for display purposes
    }
    /**
     * Internal transfer, only can be called by this contract
     */
    function _transfer(address _from, address _to, uint _value) internal {
        // Prevent transfer to 0x0 address. Use burn() instead
        require(_to != 0x0);
        // Check if the sender has enough
        require(balanceOf[_from] >= _value);
        // Check for overflows
        require(balanceOf[_to] + _value > balanceOf[_to]);
        // Save this for an assertion in the future
        uint previousBalances = balanceOf[_from] + balanceOf[_to];
        // Subtract from the sender
        balanceOf[_from] -= _value;
        // Add the same to the recipient
        balanceOf[_to] += _value;
        Transfer(_from, _to, _value);
        // Asserts are used to use static analysis to find bugs in your code. They should never fail
        assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }
    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }
    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` on behalf of `_from`
     *
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= allowance[_from][msg.sender]);     // Check allowance
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }
    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens on your behalf
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public
        returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        return true;
    }
    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it
     *
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
        public
        returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }
    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        Burn(msg.sender, _value);
        return true;
    }
    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        Burn(_from, _value);
        return true;
    }
}
 
 
 
KakaoTalk_20180218_203831395.png

 

 
 
어때요 정말 쉽지 않나요? SUPERTOKEN이라는 이름을 가진 토큰이 하나 만들어졌습니다. 이 과정에서 가장 어려운 일은 mist 지갑을 준비하는 일입니다. mist 지갑은 이더리움 네트워크와 싱크를 맞추기 위해서 상당한 시간이 소요됩니다. 적어도 하루는 잡아야 하고요. PC 사양에 따라서 오래 걸릴 경우에는 일주일 이상 소요될 수 있습니다.
 
여기서 우리는 몇 가지 시사점을 얻을 수 있습니다.
 
 
1. 생각보다 많은 ICO들이 이런 허접한 컨트랙을 가지고 ICO를 진행합니다. 컨트랙이 공개된 몇몇 해외 유명 ICO들과 국내 ICO들을 뒤져보면, 30분 만에 찍어낸 수준으로 토큰을 발행한 곳들이 많습니다. ICO에 거액이 투자되는데도 사람들은 내용을 모르고 너무 쉽게 쉽게들 투자하죠. 
 
2. 그렇지만 토큰 발행에는 그닥 많은 기능이 필요하지 않은 게 사실이기도 합니다. 요즘 ICO에 필수라고 여겨지는 KYC나 토큰 전송 기능, 아무나 컨트랙에 손대지 못하게 하는 권한 분배, 최근 NEM 해킹 사태처럼 비상 사태가 발생했을 때 대처할 수 있는 기능들, DApp 개발 후에 포크를 위한 포크 기능 정도면 충분합니다. 그러나 이정도도 없이 30분 완성 컨트랙으로 적당히 ICO를 때우려는 사람들이 있는 것도 사실이죠.
 
3. ICO는 끝이 아니라 시작입니다. 많은 ICO 주최자들과 심지어는 참여자들까지도 간과하고 있는 사실이 바로 ICO는 시작에 불과하다는 점입니다. 주최자들은 물론이고 주최자들을 감시해야 할 참여자들까지도 투더문을 외치는 모습이 바람직하다고만 볼 수는 없습니다. ICO는 DApp을 만들고 사람들이 원하는 서비스를 제공하기 위해 시작하는 것인데, ICO로 거액을 모았다고 해서 그것이 끝인 것처럼 행동해서는 안된다는 것이죠.
 
 
마치며, 첫 ICO를 준비하는 개발자들에게 도움이 될만한 것들을 적어봅니다. 
 
 
미니미 토큰은 포크를 하기 위해 적합한 라이브러리입니다. 소스들을 뜯어보면 알겠지만, 정말 손쉽게 다음 버전의 토큰을 만들어낼 수 있습니다. 토큰 배분 후에 개발을 진행하고, 개발 후에 새로운 기능을 추가해서 토큰 홀더들에게 새 토큰을 발행하는 것까지 이미 완성되어 있습니다. 실제 사용할 때는 약간 수정할 부분들이 있지만, 사용하기에 큰 무리가 없습니다.
 
 
ICO Wizard는 ICO를 준비하는 사람들을 위해서 만들어졌고, 원하는 정보들을 입력하면 필요한 코드를 생성해줍니다. 그대로 사용하기는 무리가 있지만 베이스가 없는 상황에서 구조를 설계하는 것엔 많은 도움이 됩니다. 

 

 

 

-------------------------------------

꼬리말

* 게시글 내용 삭제레벨 강등

* 질문은 각 주제별 게시판에.

 

비트코인 암호화화폐 커뮤니티 땡글~ 땡글~

-------------------------------------

269

파이리님의 서명

Blockchainnovation

ERC20 토큰 개발, 암호화폐 지갑 개발, 스마트 컨트랙 개발

댓글 28
  • ?
    이렇게 전문적으로 아는분들이 얼마나 될까요?
    그냥 돈 된다고 하면 불나방처럼 뛰어들어가는거죠
  • 좋은 정보 감사합니다!
  • 일반분들이 이런 내용을 알아야 할 텐데요.. 삐까뻔쩍한 홈피만 보고 우르르...대박의 꿈만 쫒다보니.
  • esc는 2번 항목 다 갖추고있는지 궁금하네요?
  • @maxsin
    ESC는 이더리움 소스를 이용한 블록체인이고 위 설명은 이더리움 위에 ERC20 토큰입니다.

    범주가 다릅니다.
  • ?
    잘 읽었습니다. 감사합니다.~~
  • ?
    좋은글 잘읽엇습니다... 혹시 코인하나 뚝딱 만들어 주실수 잇는지요?
    쪽지 주시면 감사하겟습니다.
  • @비밀번호
    제가 진행하고 있는 프로젝트들이 있어서 어려울 것 같습니다. 죄송합니다 (_ _)
  • Great~
  • ?
    좋은글 감사합니다
  • ?
    좋은 자료 감사합니다! 암호화폐의 가장 큰 내부의 적은 무한히 증식하는 스캠코인들이 아닐까합니다. 코인에도 저작권 개념이 있었다면 좋았을텐데요. 카피 코인들은 법률적으로는 아니더라도 시장에서 냉정하게 밴시키면 좋겠습니다.
  • ?
    @OldBoy
    대부분 erc20 표준 코드에 이름만 바꾸는게 대부분이라 저작권, 카피 개념 적용이 불가능합니다.
  • ?
    감사합니다. 이런식으로 쉽게 만드는 스캠들이 발생하는거군요
  • 토큰의 위험성이죠
  • ?
    이런 자료들 볼수있는 자료실 카테고리 운영된다면,,,정망 감사할듯,,합니다,
  • ?
    좋아요...~~
  • ?
    이런 글에 좋아요를 주지 않으면 어떤 글에 줘야 할까요..ㅋ 정말 좋은 글입니다.
  • ?
    좋은 글 감사합니다.
  • 이 sentence들이 무슨 언어 인가요?
    따라서 쭉 읽어 보는데 모르는 단어들이 있네요 @param

    1억개의 SPT코인 내용은 알겠는데요

  • 좋은 정보입니다.
    깃허브에 보면 토큰만드는 오픈소스가 많이 올라와 있습니다. 코딩을 스페셜하게 하시는 분들은 직접 코인을 발행하고 지갑도 만들고 노드도 돌리면서 채굴까지 1인이 플렛폼을 다 꾸미기도합니다. 그런 코인들 많습니다.
  • ?
    대부분 위처럼 erc20 표준을 따르는 토큰인데, 저 소스 코드를 개선한다고 해서 NEM 사태를 막을 수 있는 방법이 있나요? 만약에 토큰 창조자가 일종의 동결기능을 만들면 중앙 통제가 일어나는것인데.. 글쓴이 님이 생각하시는 비상상태 대비 코드가 무엇인지 알려주셨으면 합니다
  • ?
    좋은 정보 정말 감사합니다.
  • ?
    올려주신 글 보면서 공부 해보겠습니다.
  • ?
    난 언제 이런 전문가가 될 수 있을까요 ㅎㅎㅎ 감사히 잘 읽었습니다.
  • ?
    혹시요 이더리움 네트워크 와 싱크할때요 소량의 이더리움이 필요한가요??
  • ?
    Rinkeby에서 해봤는데 안되네요...혹시 메인넷에서만 되는건가요?
  • @로텔
    pragma solidity ^0.4.16;
    interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; }
    contract TokenERC20 {
    // Public variables of the token
    string public name;
    string public symbol;
    uint8 public decimals = 18;
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public totalSupply;
    // This creates an array with all balances
    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) public allowance;
    // This generates a public event on the blockchain that will notify clients
    event Transfer(address indexed from, address indexed to, uint256 value);
    // This notifies clients about the amount burnt
    event Burn(address indexed from, uint256 value);
    /**
    * Constructor function
    *
    * Initializes contract with initial supply tokens to the creator of the contract
    */
    function TokenERC20(
    uint256 initialSupply,
    string tokenName,
    string tokenSymbol
    ) public {
    totalSupply = initialSupply * 10 ** uint256(decimals); // Update total supply with the decimal amount
    balanceOf[msg.sender] = totalSupply; // Give the creator all initial tokens
    name = tokenName; // Set the name for display purposes
    symbol = tokenSymbol; // Set the symbol for display purposes
    }
    /**
    * Internal transfer, only can be called by this contract
    */
    function _transfer(address _from, address _to, uint _value) internal {
    // Prevent transfer to 0x0 address. Use burn() instead
    require(_to != 0x0);
    // Check if the sender has enough
    require(balanceOf[_from] >= _value);
    // Check for overflows
    require(balanceOf[_to] + _value > balanceOf[_to]);
    // Save this for an assertion in the future
    uint previousBalances = balanceOf[_from] + balanceOf[_to];
    // Subtract from the sender
    balanceOf[_from] -= _value;
    // Add the same to the recipient
    balanceOf[_to] += _value;
    emit Transfer(_from, _to, _value);
    // Asserts are used to use static analysis to find bugs in your code. They should never fail
    assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
    }
    /**
    * Transfer tokens
    *
    * Send `_value` tokens to `_to` from your account
    *
    * @param _to The address of the recipient
    * @param _value the amount to send
    */
    function transfer(address _to, uint256 _value) public {
    _transfer(msg.sender, _to, _value);
    }
    /**
    * Transfer tokens from other address
    *
    * Send `_value` tokens to `_to` on behalf of `_from`
    *
    * @param _from The address of the sender
    * @param _to The address of the recipient
    * @param _value the amount to send
    */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
    require(_value <= allowance[_from][msg.sender]); // Check allowance
    allowance[_from][msg.sender] -= _value;
    _transfer(_from, _to, _value);
    return true;
    }
    /**
    * Set allowance for other address
    *
    * Allows `_spender` to spend no more than `_value` tokens on your behalf
    *
    * @param _spender The address authorized to spend
    * @param _value the max amount they can spend
    */
    function approve(address _spender, uint256 _value) public
    returns (bool success) {
    allowance[msg.sender][_spender] = _value;
    return true;
    }
    /**
    * Set allowance for other address and notify
    *
    * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it
    *
    * @param _spender The address authorized to spend
    * @param _value the max amount they can spend
    * @param _extraData some extra information to send to the approved contract
    */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData)
    public
    returns (bool success) {
    tokenRecipient spender = tokenRecipient(_spender);
    if (approve(_spender, _value)) {
    spender.receiveApproval(msg.sender, _value, this, _extraData);
    return true;
    }
    }
    /**
    * Destroy tokens
    *
    * Remove `_value` tokens from the system irreversibly
    *
    * @param _value the amount of money to burn
    */
    function burn(uint256 _value) public returns (bool success) {
    require(balanceOf[msg.sender] >= _value); // Check if the sender has enough
    balanceOf[msg.sender] -= _value; // Subtract from the sender
    totalSupply -= _value; // Updates totalSupply
    emit Burn(msg.sender, _value);
    return true;
    }
    /**
    * Destroy tokens from other account
    *
    * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
    *
    * @param _from the address of the sender
    * @param _value the amount of money to burn
    */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
    require(balanceOf[_from] >= _value); // Check if the targeted balance is enough
    require(_value <= allowance[_from][msg.sender]); // Check allowance
    balanceOf[_from] -= _value; // Subtract from the targeted balance
    allowance[_from][msg.sender] -= _value; // Subtract from the sender's allowance
    totalSupply -= _value; // Update totalSupply
    emit Burn(_from, _value);
    return true;
    }
    }
  • ?
    전문가 분들때문에 힘이납니다.. 좋은글감사합니다
default debug random = 0 / type = READ / detected = READ

List of Articles
번호 분류 제목 추천 수 조회 수 글쓴이 날짜
1840 개발 [긴급속보] Parity 개발팀이 비잔티움 하드포크에 관하여 연속적인 버그 발생으로 하드포크를 2주간 딜레이 ... https://www.reddit.com/r/ethereum/comments/76d97i/fork_should_be_postponed_until_2_w_of_no_bugs_as/dod6ece/   DAO 사태 이후 최대의 위기 같습니다.   Parity 팀이 4일 연속으로 Bug fix ... 42 17 39020
인텔지원
2017.10.15
1839 개발 이더리움은 인터넷을 지배하게 될까요? 아마도 땡글의 많은 분들은 이더리움으로 대박이 나셨고, 이더리움으로 큰 손실도 입으신 것으로 압니다.   이더리움은 비교적 최근까지도 땡글 내의 가장 인기있는 채굴 코인이었으며, 여전히 ... 16 8 38813
ethminer
2019.07.17
1838 개발 IPFS 따라해보기 IPFS(InterPlanetary File System)란 무엇인가? IPFS는 차세대 웹 3.0에 필수 요소의 하나라고 일컫을 수 있을만한 분산 저장소 구현중의 하나입니다.   기존 웹의 가장 큰 단점이라 할 수 있는 ... 19 10 34284
ethminer
2019.07.20
1837 질문 어짜피 켜있는 컴퓨터, 채굴에 전기세가 많이 늘어날까요? 개발자다 보니, 집에서 항상 서버를 돌리고 있습니다. 어떨땐 데스크톱으로.. 어떨땐 저사양 노트북으로, 어떨땐 게이밍노트북으로..   머 어떤 형태든 20여년간 계속 서버를 돌려왔는데요..   ... 12 1 28653
비폭력무저항
2020.09.14
1836 개발 클레이튼 소스 코드 간단 분석 소스분석이랄것까지는 없습니다만   현재 공개되어 있는 클레이튼 소스코드를 간단히 점검하는 기분으로 살펴보았습니다.   공개된 클레이튼 노드 소스코드 https://github.com/klaytn/klaytn   ... 18 6 28494
ethminer
2019.07.10
1835 개발 이더리움 작동원리의 이해(1)-동영상 -땡글 블록체인 강의 https://youtu.be/ddZ4wBfHGIo 주최 : 땡글 암호화폐 커뮤니티 후원 : 제너크립토(주) 해외거래소 이더리움 작동원리의 이해(워터마크).pdf ------------------------------------- 꼬리말 * 게... 23 file 29 27213
쌍둥아빠
2017.11.03
1834 개발 사달라 자동매매봇 업데이트 했습니다.     안녕하세요. 마루마루 입니다. 이전에 트레이딩봇 관련해서 테스트 버젼을 올렸었습니다.   이전글 참조 [ https://www.ddengle.com/traders_free/11193656 ]   당분간 유료화 예정이 없어 ... 1 3 26285
마루마루
2019.07.05
1833 질문 서버 이전중에 코인이 싹 사라졌습니다. 코인은 라이트코인 포크로 만든 새로운 코인이구요.. 서버 이전이 있어서 (A --&gt; B)   1. A 서버에서 계정들과 코인수량 다 확인하고 2. B 서버에서 데몬 실행, 정상적으로 블록이 쌓이는 거 확... 13 2 26047
비폭력무저항
2019.06.14
1832 질문 빗썸 API 요즘도 연속 주문 안 되나요? 안녕하세요.   예전에 빗썸 API를 쓰다가 너무 문제가 많아서 안 쓰게 되었습니다.   가장 큰 문제는 연속으로 주문을 넣으면 거부된다는 점이었습니다.   그래서 3초 정도 여유를 두고 주문을 ... 0 25849
크리
2020.09.26
1831 개발 폰 & 컴 해커한테 다 뚫림! 보안 다 빵꾸남!     컴퓨터 전원을 켜는 순간 아무것도 안해도 100% 다 털린다. 폰 전원을 켜는 순간 아무것고 안해도 해커는 다 훔쳐간다!     https://www.youtube.com/watch?v=TU5LgrlJ4vQ&amp;feature=youtu... 2 file 0 25778
내가총대멘다
2020.09.10
1830 질문 암호화폐/주식 교육 사이트를 만들고 있는데 PG,결제연동사가 허락을 안해주네요; 다른 동영상 강의 사이트들은 PG연동에 문제가 여태 없었는데   암호화폐랑 주식은 안된다고 거품물고 반대 하네요; (도서는 된다고 하는데.. 클라이언트가 책은 생각이 없다고 해서..)   그런 ... 9 1 25729
딥러닝은개뿔
2019.06.11
1829 개발 주식 자동 매매 프로그램 이번 주는 많이 바빴습니다. 회사 업무도 있었지만, 프로그램 만드는 일도 몇 일 걸렸습니다. ETF(Exchange Traded Fund) 자동 매매 프로그램입니다. 저가에 매수하고, 고가에 매도하는 전략이... 28 file 11 25687
drjoon
2014.11.21
1828 질문 자동 코인 거래를 위한 시스템? 을 개발하고 있습니다.   봇에 거래소 API 키 및 코인, 금액을 세팅하고 활성화 시키면 24시간 해당 코인의 가격을 보다가    지정된 가격에 도달하면 매수/매도를 걸게 되고, 동시에 라인 및 텔레그램으로 알람을 보내... 12 0 25566
몬스터에너지
2019.07.13
1827 개발 안녕하세요. 오픈소스로 자동 트레이딩+알림 봇 공유합니다.   파이썬3로 제작되었고요.   1. 텔레그램에서 문자인증 받고 자동으로 로그인하는 기능. 2. 텔레그램에서 해당 채널의 메시지를 자동으로 읽는 기능. 3. 읽은 메시지를 정규표현식으로 분석해서... 24 file 48 25503
소프트
2018.01.12
1826 개발 거래소 API 시세정보 및 알람 표시 HTML 예제 코드입니다. 안녕하세요. 땡글에 리플은 많이 달아보았지만 게시글은 처음이네요 ㅎㅎㅎ 자료실에 올릴까 개발에다 올릴까 고민했는데 html로 개발하실 분들 대상으로 보시라고 여기에 올립니다.   예전에 거... 35 file 23 25399
크로비
2017.08.02
1825 개발 이더리움 트랜젝션 처리속도를 25 TPS라고 하는 이유 이더리움의 초당 트랜젝션 처리 가능 회수는 15 TPS라고 알려져있습니다. 그러나 좀 더 찾아보면 20~25 TPS라는 내용도 나오긴 하는데 이에 대해서 간단히 살펴보도록 하겠습니다. 현재의 이더리... 3 file 4 25271
ethminer
2019.07.08
1824 개발 이더리움 블록체인과 영지식 증명 스터디원을 모집합니다^^   안녕하세요. 철학자입니다.   이더리움 블록체인 스터디그룹인 D-lab의 &lt;Awesome ZKP&gt;분과에서 공부 같이하실 스터디원을 모집합니다^^   &lt;Awesome ZKP&gt; 분과는 현업 이더리움 블록체인 개발자... 1 25077
철학자
2019.06.07
1823 개발 룸네트워크의 메인넷 소스코드 공개 룸네트워크를 들어보신 분 많으실겁니다. 룸네트워크의 Loom 토큰이 업비트에도 상장되어 있으며, DPoS 컨센서스 기반의 룸네트워크 메인넷, 일명 &quot;플라즈마체인&quot;(Plasma Chain)으로 유명하고, (... 4 file 3 24991
ethminer
2019.07.12
1822 개발 이더리움 노드 소스 (go-ethereum) 버전 1.9.0 릴리스 7월 10일 날짜로, 이더리움 코어 소스코드 (go-ethereum) 버전 1.8.0이 나온 2018년 2월 14일 이후로 1년 5개월여만에 1.9.0 버전이 나왔습니다! 간단 요약 - full/fast/archive sync 성능 향상 ... 1 file 3 24694
ethminer
2019.07.12
1821 개발 이런 코인있으면....   로그인 할때마다 코인자동으로 지급해주는 코인 어떨까요 웹싸이트들 대부분 수익모델이 제로입니다 이걸 로그인코인이 보상해주는 거조 채굴보상대신 로그인마다 코인을 주는거죠 그러면 수익... 1 1 24559
독수리
2019.06.11
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 92 Next
/ 92
default debug random = 0 / type = READ / detected = READ