Tengo un contrato que permite al usuario crear una campaña y la gente puede ofertar. Estoy leyendo los datos en la interfaz usando etherjs. Lleva tiempo cargar campañas y, a medida que se crean más campañas, se vuelve más lento.
Este es mi código createCampaign
struct Campaign { uint256 campaignID; string brand; uint256 budget; mapping(uint => Bidder[]) bidders; } struct Bidder { bool bided; uint256 bid; string name; address bidderAddress; } Campaign[] public campaigns; uint totalCampaign = 0; //same with one above //-------Creating a Campaign-------// function createCampaign( string memory _brand, uint256 _budget ) public { Campaign storage _initialCampaign = campaigns.push(); _initialCampaign.campaignID = totalCampaigns += 1; _initialCampaign.brand = _brand; _initialCampaign.budget = _budget; totalCampaign++; }¿Cómo puedo leer datos más rápido en la interfaz?
En lugar de devolverlos todos, devuélvalos uno por uno y recójalos en la parte delantera cuando lleguen o puede guardar los datos del presidente de su base de datos mango o sql y luego recuperar otros datos cuando sea necesario de blockchain