Blockchain code Metaverse VR

Crypto×VR×SmartContract(374)

スポンサーリンク

//tips

//基本情報理解

PCとディスプレイの接続に用いられるインターフェースの一つであるDisplayPortは映像と音声をパケット化してシリアル伝送できるもの。DVIを置き換えるためにVESAが策定した標準規格。圧縮もサポートしており、著作権保護にも対応している。

SDカードの上位規格であるSDXCはファイルシステムにexFATを採用し、最大2Tバイトの容量に対応できる。

サーバやシステムの能力を拡張する場合、数を増やして対処する方法、スケールアウトか、能力を高めて対処する方法、スケールアップが選択される。

//crypto

Ctokenの立ち位置にいるstETHをさらにプールに入れることで利回りを得られる方法があるとのことで原理がわからなかったので調べてみた。

LidoにETHをデポジットするとstETHが債権として返され、自身のETHはロックされる。

そのstETHをCurveのETH-stETH poolに入れることで、crvstETHを取得できる。

LDR; 1. stake ETH on Lido to get stETH. 2. Add stETH to the ETH-stETH pool in Curve and get crvstETH.

ETH-stETH poolがあり、stETHを運用できることはわかった。stETHのロック期間を待たず自由に解除できるメリットなどがあるよう。

This swapping between stETH and ETH effectively unstakes their ETH from the Lido contract. Without any liquidity pools, users will not be able to unstake their staked ETH until Ethereum launches Phase 2.

他にも下記のような記載を見かけた。Arbitrum yield farmsについては少し調べてみる必要がありそう。

One is the cyclical abuse of the Lido referral program, where some users tried to exploit the program by staking with Lido. They receive their referral rewards and then sell their stETH into Curve Pool, which increases the imbalance gradually.

The second reason for the increased imbalance is the growth in Arbitrum yield farms, leading to more attractive ETH yields.

ただ、このpoolに入れた時点でstETHの複利効果はどうなるのだろうか。ctokenと同様に考えるとtoken自体に複利が追加されていくため、poolに入れられ、最終的に引き出す際まで、stETHに対して付加され続けることになる。

Poolに入れられているので、当然Ethとの交換などに使われることになるが、自分のsethが第三者のswapに使用された場合、そのsethは自分のものではなくなり、自分のsethはpoolの別の分から割り当てることになるはず。

複利付加のシステムは所有者とsethtoken保有量をLidoで認識され、カウントし続けられ、清算する際にどのsethであれ、付与分をわかるようにしているのだろうか。

手数料10%がやや高く感じるので私は参入しないが、おおよその仕組みはわかってきた。また、サイクルの濫用を防ぐための制約も追加されていくよう。入るならtokemakでいいかと感じた。

Is there any reason to not stake your stETH in Curve? from LidoFinance

 

//smart contract

スワップ機能の中身を見ていく。

$("#swap-box").submit((e)=>{
e.preventDefault();
})

ここでswap実行ボタンのクリックを検知しているのでこの中に実際の挙動を書くことになる。

try
{
buyMode ? await buyToken() :await sellToken();

}catch(err)
{
alert(err.message);
}

このbuytokenなどの関数を作成していく。

function buyToken(){
//awaitを使用しないやり方での記載
const tokenAddr=tokenInst._address;//インスタンスの中にあるアドレスの取得
return new Promise ((resolve,reject)=>{
//dex.solのbuytokenを呼ぶ
dexInst.method
.buyToken(tokenAddr,finalInput,finalOutput)
.send({value:finalInput})//payable関数なのでvalueが必要
.then((receipt)=>{
console.log(receipt);
resolve();
})
.catch((err)=>reject(err));

});
}

async function sellToken(){

const allowance=await tokenInst.methods.allowance(user,dexAddr).call();

if(parseInt(finalInput)>parseInt(allowance)){
try
{
await tokenInst.methods.approve(dexAddr,finalInput).send();
}catch(err)
{
throw(err);
}

try
{
const tokenAddr=tokenInst._address;
const sellTx=await dexInst.methods
.sellToken(tokenAddr,finalInput,finalOutput)
.send();
}catch(err)
{
throw (err);

}

}

一旦異なるやり方でsellとbuyの関数を作ったがバランスチェック機能も別途作る必要があるようなのでそちらも確認。

await checkBalance(input);
//awaitを一つ挿入するだけで関連するものにasyncとawaitを付け直さなければいけない

数量を入力しても残高がそれよりも小さい場合はswapできないので下記のように設定。

//ブロックチェーンの値を読み取るため時間がかかるのでasync
async function checkBalance(input){
const balanceRaw=buyMode
? await web3.eth.getBalance(user)
: await tokenInst.methods.balanceOf(user).call();
//weiをeth表示に変換し、文字から数値変換
const balance = parseFloat(web3.utils.fromWei(balanceRaw,"either"));

if(balance>=input){
$(".btn.swap").removeClass("disabled");
$(".btn.swap").html("SWAP");
}else{
$(".btn.swap").addClass("disabled");
$(".btn.swap").html('Insufficient ${buyMode ? "ETH" : token}balance');
}

}
これで簡易的なdex機能を作ることができた。

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.