Aries Markets项目介绍
DEFI现状目前,各种L1生态系统中的DeFi景观,由非常分散的用户体验组成。例如,在以太坊上,Aave和Compound提供借贷解决方案,Uniswap和Sushi提供自动做市商(AMM)DEX,Perpetual Protocol提供去中心化的衍生品交易,等等。与我们的中心化同行相比,这些都是相形见绌的。交易所,如FTX、Binance等,提供各种此类产品,尽管是以集中的方式。用户能够从同一平台访问所有这些产品,而不是要求他们在不同的应用程序中来回浏览。进入 Aries Markets的世界在Aries Markets,我们认为用户体验对于吸纳下一代加密货币用户是最重要的。我们设想Aries成为类似于DeFi的 "超级 "应用程序,它将聚合和简化Aptos生态系统中所有DeFi的用户体验。 Aries Markets旨在为用户提供交易所的体验,这将允许用户通过一个完全去中心化的订单簿和自动做市商(AMM)进行借款、借贷、互换和保证金交易。 以下是Aries Markets的一些功能快照。aries 货币市场 超额抵押贷款和借款。用户可以存入资产以赚取收益和/或以抵押物借入资产...
论没看过EVA的人是如何拥有道德的?
最近与一友人攀谈(btw,他是00后)。从谈话中得知,他没有看过福音战士,(难怪他的素质有点低下)。我正好也借此机会谈谈我心中的福音战士! 本人小学第一次看EVA,并没有感觉到与其他的日本动漫有什么不同。酷炫的机甲,火花四溅的战斗,云里雾里的剧情,搞不懂的懦弱男主角。好像并没有非看不可的理由---------直到ASUKA的出现。 直到现在我依然认为明日香是福音战士的主角,是故事的真正内核。像太阳一样炙热的女孩,比男孩子还要要强的女孩,撕裂的人格,极度痛苦的成长经历。WOW! 我第一次在内心呢喃:我从来没见过这样的动漫作品。 作为一部动画片,《EVA》里的很多拍摄手法是非常罕见的,比如无声的长镜头,交错的蒙太奇,有人评价庵野秀明对画面的运用已经可以和法意的某些著名导演相媲美了。所以我们记住了什么呢?烈日当头的第三新东京市,NERV内部仿佛永远也下不完的电梯,蝉鸣让人类文明显得更加脆弱,齿轮的声音让沉默的气氛面临疯狂和崩溃。《EVA》是一部绝对压抑的作品,看完了让人想去自杀,也许是因为里面的每个人都过得不快乐。 故事里的每一个人都好痛苦,撕裂的氛围到处都是。痛苦,痛苦,痛苦,痛苦,...
claystack质押积分 part1
在主网上进行质押并在任务中心赚取积分现在,有一种方法可以在质押的同时提高你的Mission Hub积分! 只需通过ClayStack在Polygon和Ethereum主网上押注你的MATIC,并开始积累积分。 当你把你的代币质押在主网上时,你会得到质押奖励,同时你也了赚取的Mission Hub积分! 双重的好处,对吗?获得可持续性的质押奖励,并提高你在Mission Hub上的积分。 这里有一个简单的指南,介绍积累这些积分的规则和一些最大化收集积分的策略。用csMATIC积累积分你需要至少100个csMATIC来收集积分。 你每质押一个MATIC,就可以得到csMATIC。在给定的一周内,如果要收集100个csMATIC,就需要质押尽可能多的MATIC,才有资格收集积分。一旦你的钱包里积累了100个csMATIC,你将获得100个积分。 如果你增加你的质押数量以积累更多的csMATIC,那么你就会得到更多的积分。这些积分将成倍增加,直到你积累了10,000个csMATIC,你将获得200%的积分!因此,对于10,000个csMATIC,你将获得200%的积分。因此,对于10,0...
Crypto Lover / Computer Science / Music lover
Aries Markets项目介绍
DEFI现状目前,各种L1生态系统中的DeFi景观,由非常分散的用户体验组成。例如,在以太坊上,Aave和Compound提供借贷解决方案,Uniswap和Sushi提供自动做市商(AMM)DEX,Perpetual Protocol提供去中心化的衍生品交易,等等。与我们的中心化同行相比,这些都是相形见绌的。交易所,如FTX、Binance等,提供各种此类产品,尽管是以集中的方式。用户能够从同一平台访问所有这些产品,而不是要求他们在不同的应用程序中来回浏览。进入 Aries Markets的世界在Aries Markets,我们认为用户体验对于吸纳下一代加密货币用户是最重要的。我们设想Aries成为类似于DeFi的 "超级 "应用程序,它将聚合和简化Aptos生态系统中所有DeFi的用户体验。 Aries Markets旨在为用户提供交易所的体验,这将允许用户通过一个完全去中心化的订单簿和自动做市商(AMM)进行借款、借贷、互换和保证金交易。 以下是Aries Markets的一些功能快照。aries 货币市场 超额抵押贷款和借款。用户可以存入资产以赚取收益和/或以抵押物借入资产...
论没看过EVA的人是如何拥有道德的?
最近与一友人攀谈(btw,他是00后)。从谈话中得知,他没有看过福音战士,(难怪他的素质有点低下)。我正好也借此机会谈谈我心中的福音战士! 本人小学第一次看EVA,并没有感觉到与其他的日本动漫有什么不同。酷炫的机甲,火花四溅的战斗,云里雾里的剧情,搞不懂的懦弱男主角。好像并没有非看不可的理由---------直到ASUKA的出现。 直到现在我依然认为明日香是福音战士的主角,是故事的真正内核。像太阳一样炙热的女孩,比男孩子还要要强的女孩,撕裂的人格,极度痛苦的成长经历。WOW! 我第一次在内心呢喃:我从来没见过这样的动漫作品。 作为一部动画片,《EVA》里的很多拍摄手法是非常罕见的,比如无声的长镜头,交错的蒙太奇,有人评价庵野秀明对画面的运用已经可以和法意的某些著名导演相媲美了。所以我们记住了什么呢?烈日当头的第三新东京市,NERV内部仿佛永远也下不完的电梯,蝉鸣让人类文明显得更加脆弱,齿轮的声音让沉默的气氛面临疯狂和崩溃。《EVA》是一部绝对压抑的作品,看完了让人想去自杀,也许是因为里面的每个人都过得不快乐。 故事里的每一个人都好痛苦,撕裂的氛围到处都是。痛苦,痛苦,痛苦,痛苦,...
claystack质押积分 part1
在主网上进行质押并在任务中心赚取积分现在,有一种方法可以在质押的同时提高你的Mission Hub积分! 只需通过ClayStack在Polygon和Ethereum主网上押注你的MATIC,并开始积累积分。 当你把你的代币质押在主网上时,你会得到质押奖励,同时你也了赚取的Mission Hub积分! 双重的好处,对吗?获得可持续性的质押奖励,并提高你在Mission Hub上的积分。 这里有一个简单的指南,介绍积累这些积分的规则和一些最大化收集积分的策略。用csMATIC积累积分你需要至少100个csMATIC来收集积分。 你每质押一个MATIC,就可以得到csMATIC。在给定的一周内,如果要收集100个csMATIC,就需要质押尽可能多的MATIC,才有资格收集积分。一旦你的钱包里积累了100个csMATIC,你将获得100个积分。 如果你增加你的质押数量以积累更多的csMATIC,那么你就会得到更多的积分。这些积分将成倍增加,直到你积累了10,000个csMATIC,你将获得200%的积分!因此,对于10,000个csMATIC,你将获得200%的积分。因此,对于10,0...
Crypto Lover / Computer Science / Music lover
Share Dialog
Share Dialog

Subscribe to cade Yu

Subscribe to cade Yu
<100 subscribers
<100 subscribers
Goshen是EVM的一个layer 2通用扩展方案,目前可以进行一些简单的测试!

点击bridge进入跨链桥界面,之后链接你的小狐狸钱包

因为我们要把goreli上的eth跨链到goshen上,所以你的钱包里要有eth测试币,没有的话去这里领取:
之后点击Deposit将测试eth跨链

经过钱包确认并等待一段时间后,测试eth应该成功跨链了!
上一步我们已经在goshen链得到了测试币,所以需要添加goshen测试网信息来查看

点击withdraw按钮,之后点击switch to gosehn testnet alpha之后,小狐狸钱包会自动添加网络信息

确认之后,我们就可以在小狐狸钱包上使用goshen测试网并且查看自己的余额了
打开remix

点击编译

之后选择部署合约上链,记住,小狐狸钱包选择goshen测试网,这样代币才能部署到goshen网络中。

之后找到代币合约,将它添加到小狐狸钱包中


这样我们就有了自己部署到btc代币,也许可以将代币发给其他人?谁知道呢?
twitter:@yu83612457
Goshen是EVM的一个layer 2通用扩展方案,目前可以进行一些简单的测试!

点击bridge进入跨链桥界面,之后链接你的小狐狸钱包

因为我们要把goreli上的eth跨链到goshen上,所以你的钱包里要有eth测试币,没有的话去这里领取:
之后点击Deposit将测试eth跨链

经过钱包确认并等待一段时间后,测试eth应该成功跨链了!
上一步我们已经在goshen链得到了测试币,所以需要添加goshen测试网信息来查看

点击withdraw按钮,之后点击switch to gosehn testnet alpha之后,小狐狸钱包会自动添加网络信息

确认之后,我们就可以在小狐狸钱包上使用goshen测试网并且查看自己的余额了
打开remix

点击编译

之后选择部署合约上链,记住,小狐狸钱包选择goshen测试网,这样代币才能部署到goshen网络中。

之后找到代币合约,将它添加到小狐狸钱包中


这样我们就有了自己部署到btc代币,也许可以将代币发给其他人?谁知道呢?
twitter:@yu83612457
//SPDX-License-Identifier: Unlicense
// ----------------------------------------------------------------------------
// Lib: Safe Math
// ----------------------------------------------------------------------------
contract SafeMath {
function safeAdd(uint a, uint b) public pure returns (uint c) {
c = a + b;
require(c >= a);
}
function safeSub(uint a, uint b) public pure returns (uint c) {
require(b <= a);
c = a - b;
}
function safeMul(uint a, uint b) public pure returns (uint c) {
c = a * b;
require(a == 0 || c / a == b);
}
function safeDiv(uint a, uint b) public pure returns (uint c) {
require(b > 0);
c = a / b;
}
}
/**
ERC Token Standard #20 Interface
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
*/
contract ERC20Interface {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
/**
Contract function to receive approval and execute function in one call
Borrowed from MiniMeToken
*/
contract ApproveAndCallFallBack {
function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}
/**
ERC20 Token, with the addition of symbol, name and decimals and assisted token transfers
*/
contract myToken is ERC20Interface, SafeMath {
string public symbol;
string public name;
uint8 public decimals;
uint public _totalSupply;
mapping(address => uint) balances;
mapping(address => mapping(address => uint)) allowed;
// ------------------------------------------------------------------------
// Constructor
// ------------------------------------------------------------------------
constructor() public {
symbol = "BTC";
name = "Bitcoin";
decimals = 2;
_totalSupply = 100000;
balances[填自己的地址] = _totalSupply;
emit Transfer(address(0), 填自己的地址, _totalSupply);
}
// ------------------------------------------------------------------------
// Total supply
// ------------------------------------------------------------------------
function totalSupply() public constant returns (uint) {
return _totalSupply - balances[address(0)];
}
// ------------------------------------------------------------------------
// Get the token balance for account tokenOwner
// ------------------------------------------------------------------------
function balanceOf(address tokenOwner) public constant returns (uint balance) {
return balances[tokenOwner];
}
// ------------------------------------------------------------------------
// Transfer the balance from token owner's account to to account
// - Owner's account must have sufficient balance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transfer(address to, uint tokens) public returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner's account
//
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// recommends that there are no checks for the approval double-spend attack
// as this should be implemented in user interfaces
// ------------------------------------------------------------------------
function approve(address spender, uint tokens) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
return true;
}
// ------------------------------------------------------------------------
// Transfer tokens from the from account to the to account
//
// The calling account must already have sufficient tokens approve(...)-d
// for spending from the from account and
// - From account must have sufficient balance to transfer
// - Spender must have sufficient allowance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transferFrom(address from, address to, uint tokens) public returns (bool success) {
balances[from] = safeSub(balances[from], tokens);
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(from, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Returns the amount of tokens approved by the owner that can be
// transferred to the spender's account
// ------------------------------------------------------------------------
function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
return allowed[tokenOwner][spender];
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner's account. The spender contract function
// receiveApproval(...) is then executed
// ------------------------------------------------------------------------
function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
return true;
}
}
//SPDX-License-Identifier: Unlicense
// ----------------------------------------------------------------------------
// Lib: Safe Math
// ----------------------------------------------------------------------------
contract SafeMath {
function safeAdd(uint a, uint b) public pure returns (uint c) {
c = a + b;
require(c >= a);
}
function safeSub(uint a, uint b) public pure returns (uint c) {
require(b <= a);
c = a - b;
}
function safeMul(uint a, uint b) public pure returns (uint c) {
c = a * b;
require(a == 0 || c / a == b);
}
function safeDiv(uint a, uint b) public pure returns (uint c) {
require(b > 0);
c = a / b;
}
}
/**
ERC Token Standard #20 Interface
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
*/
contract ERC20Interface {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
/**
Contract function to receive approval and execute function in one call
Borrowed from MiniMeToken
*/
contract ApproveAndCallFallBack {
function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}
/**
ERC20 Token, with the addition of symbol, name and decimals and assisted token transfers
*/
contract myToken is ERC20Interface, SafeMath {
string public symbol;
string public name;
uint8 public decimals;
uint public _totalSupply;
mapping(address => uint) balances;
mapping(address => mapping(address => uint)) allowed;
// ------------------------------------------------------------------------
// Constructor
// ------------------------------------------------------------------------
constructor() public {
symbol = "BTC";
name = "Bitcoin";
decimals = 2;
_totalSupply = 100000;
balances[填自己的地址] = _totalSupply;
emit Transfer(address(0), 填自己的地址, _totalSupply);
}
// ------------------------------------------------------------------------
// Total supply
// ------------------------------------------------------------------------
function totalSupply() public constant returns (uint) {
return _totalSupply - balances[address(0)];
}
// ------------------------------------------------------------------------
// Get the token balance for account tokenOwner
// ------------------------------------------------------------------------
function balanceOf(address tokenOwner) public constant returns (uint balance) {
return balances[tokenOwner];
}
// ------------------------------------------------------------------------
// Transfer the balance from token owner's account to to account
// - Owner's account must have sufficient balance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transfer(address to, uint tokens) public returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner's account
//
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// recommends that there are no checks for the approval double-spend attack
// as this should be implemented in user interfaces
// ------------------------------------------------------------------------
function approve(address spender, uint tokens) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
return true;
}
// ------------------------------------------------------------------------
// Transfer tokens from the from account to the to account
//
// The calling account must already have sufficient tokens approve(...)-d
// for spending from the from account and
// - From account must have sufficient balance to transfer
// - Spender must have sufficient allowance to transfer
// - 0 value transfers are allowed
// ------------------------------------------------------------------------
function transferFrom(address from, address to, uint tokens) public returns (bool success) {
balances[from] = safeSub(balances[from], tokens);
allowed[from][msg.sender] = safeSub(allowed[from][msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(from, to, tokens);
return true;
}
// ------------------------------------------------------------------------
// Returns the amount of tokens approved by the owner that can be
// transferred to the spender's account
// ------------------------------------------------------------------------
function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
return allowed[tokenOwner][spender];
}
// ------------------------------------------------------------------------
// Token owner can approve for spender to transferFrom(...) tokens
// from the token owner's account. The spender contract function
// receiveApproval(...) is then executed
// ------------------------------------------------------------------------
function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
allowed[msg.sender][spender] = tokens;
emit Approval(msg.sender, spender, tokens);
ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
return true;
}
}
No activity yet