SingularDTV Token
このページはスマートな契約とやりとりに必要かつ重要な情報が含まれているため保護されており、間違いが経済的損失につながる可能性があります。価値のあるトランザクションを実行する前に契約アドレスとアプリケーションバイナリインターフェイスが正しいことを個別に確認してください。
'[SingularDTV]' 'も参照してください
目次
トークン情報[編集]
ウェブサイト: | https://singulardtv.com/ |
フォーラム: | https://singulardtv.slack.com |
エクスプローラ: | https://etherscan.io/token/SNGLS |
交換: | https://coinmarketcap.com/assets/singulardtv/#markets |
< br />
トークン契約情報[編集]
シンボル: | SNGLS |
名前: | SingularDTV |
住所: | 0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009 |
小数点以下の桁数: | 0 |
利用可能な供給: | 600,000,000 |
総供給量: | 1,000,000,000 |
< br />
Ethereum Wallet / Mistでトークン契約を見る方法[編集]
Ethereum Wallet / Mistで、 CONTRACTS 'タブを選択し、' 'WATCH CONTRACT' をクリックしてWatchコントラクトウィンドウを開きます。次に:
- '契約名' の下に 'SNGLS'
- 'CONTRACT ADDRESS' の下に 'を入力してください。0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009'
- 以下のアプリケーションバイナリインタフェースをコピーして 'JSON INTERFACE' テキストボックスに貼り付けます
< syntaxhighlight lang = "javascript"> [{"定数":真、 "入力":[]、 "名前": "名前"、 "出力":[{"名前": ""、 "タイプ": "文字列"}]、 "タイプ" "function"}、{"constant":false、 "inputs":[{"name": "_ spender"、 "type": "address"}、{"name": "_ value"、 "type": "uint256 [{"name": "success"、 "type": "bool"}]、 "type": "function"}、{"constant": "}"、 "name" true、 "inputs":[]、 "name": "totalSupply"、 "outputs":[{"name": ""、 "type": "uint256"}]、 "type": "function"}、{ {"name": "from"、 "type": "address"}、{"name": "to"、 "type": "address"}、{"name" [{"name": ""、 "type": "bool"}] "type": "uint256"}]、 "name": "transferFrom"、 "outputs" "{" name ":" "、" type ":" uint8 "}]:"関数 "}、{"定数 ":真、"入力 ":[]、"名前 ":"小数点 " {{"name": "_ for"、 "type": "address"}、{"name": "tokenCount"、 " [{"name": ""、 "type": "bool"}]、 "type": "function"}、{type ":" uint256 "}}" name ":" issueTokens " [{"name": "_ owner"、 "type": "address"}]、 "name": "balanceOf"、 "outputs":[{"name": "balance" "、" typ {"name": "input": "name": "symbol"、 "outputs": "{" name " {"" name ":" to "、" type ":" address "}"、 "type": "string"} " {{"name": ""、 "type": "bool"}、{"name": "value"、 "type": "uint256"}} {_ name}: "_ owner"、 "type": "address"}、{"name": "_ spender"、 "type": "function" "タイプ": "住所"}]、 "名前": "余裕"、 "出力":[{"名前": "残り"、 "タイプ": "uint256"}、 "タイプ": "関数"} {"入力": ""、 "タイプ": "コンストラクタ"}、{"匿名":偽、 "入力" 「インデックス」:偽、「名前」:「値」、「タイプ」:「uint256」、「アドレス」、「名前」、「タイプ」、 「名前」:「所有者」、「タイプ」、「タイプ」、「タイプ」、「タイプ」、「タイプ」、 "住所"}、{"インデックス":真、 "name": "spender"、 "type": "address"}、{"indexed":false、 "name": "value"、 "type" uint256 "}]、" name ":" Approval "、" type ":" event "}] < / syntaxhighlight>
: border
< br />
Ethereum Wallet / Mistでトークンを見る方法[編集]
Ethereum Wallet / Mistで、 'CONTRACTS' タブを選択し、 WATCH TOKEN 'をクリックしてAdd Token Windowを開きます。次に:
- 'TOKEN CONTRACT ADDRESS' の下に '0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009' と入力してください。追加フィールドは自動的に入力されます。
- 'OK' をクリックしてください。
: border
< br />
EtherScan.ioのトークンバランスを確認する[編集]
https://etherscan.io/に移動します。次に:
- 'TOKEN' - >メニューを選択します。 'トークンを見る'
- 'を選択SNGLS - SingularDTV'
- '契約書を読む' タブを選択
- 'balanceOf' フィールドに、トークン残高を確認するアドレスを入力します。
- 'クエリ' をクリック
トークン残高を確認する簡単な方法はhttps://etherscan.io/に移動することです。次に:
- 画面の右上にある検索ボックスにあなたの住所を入力してください
- 'ENTER' を押す
- 'トークン残高を表示' ドロップダウンをクリックしてください
< br />
Ethereum Wallet / Mistでトークンスマート契約と対話する方法[編集]
Ethereum Wallet / Mistでトークンバランスをチェックする方法[編集]
上記のように[[#Ethereum Wallet / Mist |契約を見る]スマート契約を見るにはどうすればいいですか?]と Tokenを見る方法。次に:
- 'SNGLS' 契約を見る
- 'SHOW CONTRACT INFO' をクリックしてください。
- READ FROM CONTRACT 'セクションと' の残高:
- トークン残高を確認する住所を入力してください
- トークン残高は小数点以下0桁のNatural Unitsに表示されます。たとえば、12345 = 12345トークン単位
< br />
Ethereum Wallet / Mistであなたのトークンを転送する方法[編集]
上記のように[[#Ethereum Wallet / Mist |契約を見る]スマート契約を見るにはどうすればいいですか?]と Tokenを見る方法。次に:
- 'SNGLS' 契約を見る
- 'SHOW CONTRACT INFO' をクリックしてください。
- WRITE TO CONTRACT 'セクションと' Select function ':
- 'Transfer' 関数を選択してください
- '〜'の下に、あなたのトークンを転送するアドレスを入力してください
- 値 'の下に、転送するトークンの量を入力します。この量は、小数点以下0桁のNatural Unitsで指定する必要があります。たとえば、12345は12345 SNGLSです
- 'から実行' の下で、トークンを転送するアカウントを選択します
- 'Execute' をクリックし、取引を確認してください
< br />
トークン契約のソースコード[編集]
以下は、0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009のソースコードです。
< syntaxhighlight lang = "javascript" line = 'line'> /// ERC 20トークン標準を実装します:https://github.com/ethereum/EIPs/issues/20
/// @title抽象トークンコントラクト - トークンコントラクトによって実装される関数。 /// @author Stefan George - < stefan.george@consensys.net> 契約トークン{ //これは抽象関数ではない。なぜなら、solcは生成されたパブリック変数のゲッター関数を関数として認識しないからである function totalSupply()定数は(uint256 supply){}を返します。 function balanceOf(アドレス所有者)定数は(uint256 balance)を返します。 function transfer(address to、uint256 value)は(ブール成功)を返します。 関数transferFrom(アドレス、アドレス、uint256値)は(ブール成功)を返します。 function approve(address spender、uint256 value)は(bool success)を返します。 機能の余裕(住所所有者、住所消費者)定数戻り値(uint256残り);
イベント転送(インデックスはアドレス、インデックスはuint256値) イベント承認(住所付き所有者住所、住所付き出産者住所、uint256値)。 }
contract StandardTokenはトークン{
/ * *データ構造 * / マッピング(アドレス=> uint256)のバランス。 マッピング(アドレス=>マッピング(アドレス=> uint256))。 uint256 public totalSupply;
/ * *記憶機能の読み書き * / /// @dev送信者のトークンを指定されたアドレスに転送します。成功を返します。 /// @param _toトークン受信側のアドレス。 /// @param _value転送するトークンの数。 関数転送(アドレス_to、uint256 _value)は、(ブール成功){ if([msg.sender] = _value && _value> 0){ バランス[msg.sender] - = _value; バランス[_to] + = _value; 転送(msg.sender、_to、_value); 真を返します。 } else { 偽を返します。 } }
/// @dev許可された第三者がトークンをあるアドレスから別のアドレスに転送することを許可します。成功を返します。 @param _fromトークンが取り出されるアドレス。 /// @param _toトークンの送信先アドレス。 /// @param _value転送するトークンの数。 関数transferFrom(アドレス_from、アドレス_to、uint256 _value)は(bool success)を返します{ if(残高[_from]> = _value && allowed [_from] [msg.sender]> = _value && _value> 0){ バランス[_to] + = _value; バランス[_from] - = _value; 許可された[_from] [msg.sender] - = _value; 転送(_from、_to、_value); 真を返します。 } else { 偽を返します。 } }
/// @dev指定されたアドレスが所有するトークンの数を返します。 @param _ownerトークン所有者のアドレス。 function balanceOf(address _owner)定数が返す(uint256 balance){ リターン残高[_owner]; }
/// @dev承認された消費者用のトークンの量を設定します。成功を返します。 @param _spender許可されたアカウントのアドレス。 /// @param _value承認されたトークンの数。 関数approve(アドレス_spender、uint256 _value)は(bool success)を返します{ 許可された[msg.sender] [_ spender] = _value; 承認(msg.sender、_spender、_value); 真を返します。 }
/ * *ストレージ機能の読み込み * / /// @dev指定されたアドレスに対して許可されたトークンの数を返します。 @param _ownerトークン所有者のアドレス。 @param _spenderトークンの出所のアドレス。 function allowance(address _owner、address _spender)定数が返る(uint256 remaining){ 戻り値[_owner] [_ spender]; }
}
契約SingularDTVFund { function workshop()戻り値(アドレス); 関数softWithdrawRevenueFor(address forAddress)は(uint)を返します。 } 契約SingularDTVCrowdfunding { function twoYearsPassed()は返ります(bool); function startDate()は(uint)を返します。 関数CROWDFUNDING_PERIOD()は(uint)を返します。 関数TOKEN_TARGET()は(uint)を返します。 関数valuePerShare()は(uint)を返します。 関数fundBalance()は(uint)を返します。 function campaignEndedSuccessfully()は(bool)を返します。 }
/// @titleトークン契約 - トークン発行を実装します。 /// @author Stefan George - < stefan.george@consensys.net> 契約SingularDTVTokenはStandardToken {
/ * *外部契約 * / SingularDTVFund定数singularDTVFund = SingularDTVFund(0xe736091fc36f1ad476f5e4e03e4425940822d3ba); SingularDTVCrowdfunding定数singularDTVCrowdfunding = SingularDTVCrowdfunding(0xbdf5c4f1c1a9d7335a6a68d9aa011d5f40cf5520);
/ * *トークンメタデータ * / 文字列定数public name = "SingularDTV"; 文字列定数public symbol = "SNGLS"; uint8定数public decimals = 0;
/ * *修飾子 * / 修飾子noEther(){ if(msg.value> 0){ スロー; } _ }
修飾子workshopWaitedTwoYears(){ // Workshopは、2年後にトークンのみを転送することができます。 if(msg.sender == singularDTVFund.workshop()&&!singularDTVCrowdfunding.twoYearsPassed()){ スロー; } _ }
修飾子isCrowdfundingContract(){ //クラウドファンディング契約のみが進めることが許されます。 if(msg.sender!= address(singularDTVCrowdfunding)){ スロー; } _ }
修飾子isCrowdfundingContract(){ //クラウドファンディング契約のみが進めることが許されます。 if(msg.sender!= address(singularDTVCrowdfunding)){ スロー; } _ }
/ * *契約機能 * / /// @dev Crowdfunding契約は、住所のための新しいトークンを発行します。成功を返します。 @param _for受信者のアドレス。 @param tokenCount発行するトークンの数。 関数issueTokens(アドレス_for、uint tokenCount) 外部 isCrowdfundingContract 返す(ブール) { if(tokenCount == 0){ 偽を返します。 } バランス[_for] + = tokenCount; totalSupply + = tokenCount; 真を返します。 }
/// @dev送信者のトークンを指定されたアドレスに転送します。成功を返します。 /// @param toトークンレシーバのアドレス。 /// @param value転送するトークンの数。 ファンクション転送(アドレス、uint256値) noEther ワークショップは2年前 返す(ブール) { //両当事者は最初に収益を撤回する singularDTVFund.softWithdrawRevenueFor(msg.sender); singularDTVFund.softWithdrawRevenueFor(to); 戻り値super.transfer(to、value); }
/// @dev許可された第三者がトークンをあるアドレスから別のアドレスに転送することを許可します。成功を返します。 /// @param from fromトークンが取り出されるアドレス。 /// @param toトークンが送信される場所を指定します。 /// @param value転送するトークンの数。 function transferFrom(アドレスから、アドレス、uint256値) noEther ワークショップは2年前 返す(ブール) { //両当事者が最初に収益を撤回する singularDTVFund.softWithdrawRevenueFor(from); singularDTVFund.softWithdrawRevenueFor(to); return super.transferFrom(from、to、value); } /// @dev契約コンストラクタ関数は、初期トークン残高を設定します。 function SingularDTVToken()noEther { //ワークショップのトークン作成を設定する バランス[singularDTVFund.workshop()] = 400000000; //〜400M //コアのトークン作成を設定する 残高[0x0196b712a0459cbee711e7c1d34d2c85a9910379] = 5000000; 残高[0x0f94dc84ce0f5fa2a8cc8d27a6969e25b5a39273] = 200000; バランス[0x122b7eb5f629d806c8adb0baa0560266abb3ec80] = 450000; 残高[0x13870d30fcdb7d7ae875668f2a1219225295d57c] = 50000; 残高[0x26640e826547bc700b8c7a9cc2c1c39a4ab3cbb3] = 900000; 残高[0x26bbfc6b23bc36e84447f061c6804f3a8b1a3698] = 250000; 残高[0x2d37383a45b5122a27efade69f7180eee4d965da] = 1270000; 残高[0x2e79b81121193d55c4934c0f32ad3d0474ca7b9c] = 4200000; 残高[0x3114844fc0e3de03963bbd1d983ba17ca89ad010] = 5000000; 残高[0x378e6582e4e3723f7076c7769eef6febf51258e1] = 680000; 残高[0x3e18530a4ee49a0357ffc8e74c08bfdee3915482] = 2490000; バランス[0x43fed1208d25ca0ef5681a5c17180af50c19f826] = 100000; バランス[0x4f183b18302c0ac5804b8c455018efc51af15a56] = 10000; バランス[0x55a886834658ccb6f26c39d5fdf6d833df3a276a] = 100000; バランス[0x5faa1624422db662c654ab35ce57bf3242888937] = 5000000; バランス[0x6407b662b306e2353b627488da952337a5a0bbaa] = 5000000; バランス[0x66c334fff8c8b8224b480d8da658ca3b032fe625] = 10000000; バランス[0x6c24991c6a40cd5ad6fab78388651fb324b35458] = 250000; バランス[0x781ba492f786b2be48c2884b733874639f50022c] = 500000; バランス[0x79b48f6f1ac373648c509b74a2c04a3281066457] = 2000000; バランス[0x835898804ed30e20aa29f2fe35c9f225175b049f] = 100000; 残高[0x93c56ea8848150389e0917de868b0a23c87cf7b1] = 2790000; 残高[0x93f959df3df3c6ee01ee9748327b881b2137bf2a] = 450000; バランス[0x9adc0215372e4ffd8c89621a6bd9cfddf230349f] = 550000; バランス[0xae4dbd3dae66722315541d66fe9457b342ac76d9] = 500000; 残高[0xbae02fe006f115e45b372f2ddc053eedca2d6fff] = 1800000; 残高[0xcc835821f643e090d8157de05451b416cd1202c4] = 300000; 残高[0xce75342b92a7d0b1a2c6e9835b6b85787e12e585] = 670000; 残高[0xd2b388467d9d0c30bab0a68070c6f49c473583a0] = 990000; バランス[0xdca0724ddde95bbace1b557cab4375d9a813da49] = 3500000; バランス[0xe3ef62165b60cac0fcbe9c2dc6a03aab4c5c8462] = 150000; バランス[0xe4f7d5083baeea7810b6d816581bb0ee7cd4b6f4] = 10560000; バランス[0xef08eb55d3482973c178b02bd4d5f2cea420325f] = 80000; バランス[0xfdecc9f2ee374cedc94f72ab4da2de896ce58c19] = 5000000; バランス[0xe5ff71dc1dea8cd2552eec59e9a5e8813da9bb01] = 29110000; totalSupply = 500000000; // 500M } } < / syntaxhighlight>