Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [upgrading]

Questions involving upgrading, whether contracts, clients, or other aspects of Ethereum.

4
votes
1answer
20 views

Does function order also matter when writing upgradeable smart contracts?

The ZeppelinOS docs clearly explain the importance of state variable order when upgrading smart contracts, but say little on whether the same rules apply to functions.
2
votes
1answer
23 views

Could give ethereum network upgrade solutions?

As we known, the ethereum have soft and hard fork to upgrade network. If we modify the private ethereum code, how to notify other nodes to upgrade their geth? What if they do not upgrade the network? ...
0
votes
0answers
24 views

Library inject hardcoded contract address value

I want a contract address to be hardcoded in my solidity library (to be exact the address of the data storage contract to enable upgradability kind of like having a database) but during development ...
0
votes
1answer
28 views

How can I upgrade my GETH?

I have an application which is talking to my Smart Contract through GETH RPC. In order to do so, I need to run my own node and sync it with mainnet. The problem start when I need to upgrade my GETH. ...
2
votes
1answer
48 views

Modify Struct on Upgradeable Smart Contracts

I have reviewed some techniques around Upgradeable smart contracts from starting point(Elena Dimitrova's Eternal Storage) to zeppelinOS's Unstructured Storage pattern. As I understood from posts that ...
0
votes
1answer
31 views

Update private chain from homestead to byzantium

I need to update my the version of my chain from homestead to Byzantium. Who can tell me how to do it? thanks.
1
vote
1answer
45 views

Updating content o af smart contract

I have a smart contract. I want to update the contents (list of names) of that contract let's say after every 5 minutes. The names change after this set duration. My approach is to create an instance ...
0
votes
1answer
203 views

Storing complex data types in Eternal Storage

I've been reading into strategies for writing upgradeable contracts. A pattern that has come up numerous times is to seperate your contracts business logic from its storage so that upgrades can occur ...
1
vote
0answers
111 views

How to Deploy non-Migratable Contract in Zeppelin OS?

I am using Zeppelin OS to create a migratable contract MyContract, which will be imported into another contract Foo. Foo calls the baz() function of MyContract, so when MyContract is upgraded, Foo ...
0
votes
1answer
150 views

Contract not using Upgraded Proxy Contracts

There's 2 contracts A and B, A imports B, where B is a library that can be upgraded. To achieve this, I tried replacing B with a proxy contract and a delegate contract. We now have contracts Foo, ...
0
votes
0answers
189 views

Solidity Design Patterns

I'm relatively new to Solidity and developing a smart contract system that allows "CampaignCreators" to create "Campaigns" which people can contribute money to. In doing so, the address that sent the ...
1
vote
0answers
202 views

How does Tether token upgrade using their smart contract?

The Tether token (USDT) has: contract UpgradedStandardToken is StandardToken{ // those methods are called by the legacy contract // and they must ensure msg.sender to be the contract address function ...
0
votes
1answer
226 views

Reading array of struct from another contract

I have a contract that stores some struct array in it like: contract MyContract{ struct DataStruct { uint256 data1; uint32 data2; } DataStruct [] dataStructs; } Now i'm going to ...
0
votes
1answer
105 views

On the unstructured storage upgrade pattern, why do we have to follow the structure of the previous contract?

ZeppelinOS has adopted the unstructured storage proxy pattern to upgrade contracts. In the blog post that introduces this pattern, they say: "The only thing you will have to care about is that ...
0
votes
1answer
36 views

What happens with the balance of a contract after it is upgraded using ZeppelinOS?

ZeppelinOS implements upgradeability of smart contracts through the use of a proxy and unstructured storage. If the contract holds some ether, what happens with that ether after it is upgraded?
0
votes
1answer
188 views

Problem updating truffle framework

I have problems updating truffle. I run the command "truffle --version" and i got truffle version 4.0.1 and solc version 0.4.18. So i wanted to upgrade to 4.1.6 which is the latest version. I run "...
0
votes
0answers
34 views

How does the Ethereum blockchain gets updated/upgraded?

Imagine 2 cases: Let's imagine that the Ethereum goes to PoS right now. How the Ethereum developers would "implement" it ? Would it be a fork ? If it's not a fork, what would it be then ? Let's ...
3
votes
2answers
24 views

Does a caller contract needs to know the complete interface of a callee?

As far as I understand if a caller uses just one function from a callee contract it only needs to know the signature of this function, not the whole interface. Callee.sol (Kovan): contract Callee{ ...
1
vote
2answers
119 views

Truffle migrate/deploy does not maintain state when the same contract is deployed again, correct?

I thought that the allure of using truffle lies in the ability to upgrade a contract that is live and already has state. I now realize that the only way to maintain state while "upgrading" a contract ...
3
votes
1answer
123 views

Upgradable Smart Contracts - Is there consensus between shareholders when upgrades occur?

It seems that upgradable smart contracts are the new wave of the future seemingly for the all the right reasons. How does this work for the "hello world" smart contract where two users make a bet on ...
7
votes
1answer
439 views

Using a high level delegate call in upgradable contracts since Byzantium

Since Byzantium we can implement upgradable proxy contracts much easier with the use of returndatacopy and returndatasize assembly instructions. This means we no longer have to register return types ...
3
votes
2answers
127 views

How do upgrades at Ethereum work?

How to make an upgrade, e.g. Metropolis, Casper etc, at Ethereum? I mean, if someone proposes an upgrade to Ethereum network, how can it be made concrete?
0
votes
1answer
126 views

Relay contracts chain

I am trying to aplpy Arachnid's upgradable contracts architecture (the source is https://gist.github.com/Arachnid/4ca9da48d51e23e5cfe0f0e14dd6318f) to the following problem. Imagine there are ...
0
votes
1answer
146 views

General question: Reasons to use sha3 (or any hash) in contracts?

I'm going through the Numerai contracts and noticing a common pattern - https://github.com/numerai/contract/blob/master/contracts/NumeraireBackend.sol and https://gist.github.com/Arachnid/...
3
votes
0answers
154 views

What is the runtime performance of Ethereum Libraries compared to Contracts?

I'm looking for the cheapest way (in terms of gas price) to design upgradeable contracts. I don't expect many upgrades. Being inspired by Writing upgradable contracts in Solidity, I'm investigating ...
4
votes
2answers
58 views

Can smart contracts become incompatible with new versions of the EVM?

Can the EVM update deprecate operations of older smart contracts, making these contracts non-operative? If so, what are the solutions to upgrade these smart contracts to the new version of the EVM if ...
1
vote
0answers
322 views

How to reference the contract definition within the contract itself?

I'm working on the problem of smart contract upgradability and in that, I'm calling kill function of the contract with newly deployed contract's address as an argument. So that kill function can link ...
2
votes
0answers
20 views

Can data in an old contract still be accessed? [duplicate]

What happens if data is created via a contract address and then a new contract is used? Can all the old data be accessed still? I saw this - Upgradeable smart contracts - which outlines ideas from ...
0
votes
0answers
48 views

Ok to update version 0.8.1 all the way to 0.8.10 all at once on Windows 10 64 bit?

I am a newby. Last August I installed ethereum wallet version 0.8.1 on a windows 10 64 bit machine. Do I need to update my wallet in order to sync with the blockchain due to soft forks & other ...
3
votes
2answers
354 views

Geth 1.6.1 hangs throwing “unexpected fault address” fatal error

Since upgraded to version 1.6.1, Geth node hangs form time to time (once a week) with following fatal error: fatal error: fault [signal SIGSEGV: segmentation violation code=0x1 addr=0x7f6453b72c88 pc=...
0
votes
1answer
188 views

Invalid argument after upgrading geth from 1.5.9 to 1.6.1

Once upgraded the geth node to 1.6.1 it is not accepting queries anymore, throwing the following error: Invalid argument 0: missing 0x prefix for hex data That's weird for a query like this, where ...
0
votes
1answer
414 views

How to avoid race conditions during Solidity contract updates?

Situation: Let's assume we have a contract upgrade mechanism implemented. Data is separated from Business Logic So far, I "freeze" data via a flag in old contract Then I selfdestruct old business ...
3
votes
1answer
784 views

Does a Solidity Interface Contract need to implement all functions, or only the function subset used in the contract that implements the interface?

Let's assume the following: There is a master contract A, an interface contract IB, and a slave contract B A implements IB to allow upgrading B without redeploying A Question: Does IB need to have ...
4
votes
2answers
292 views

Usage of ENS for contract upgrade

Situation: let's assume we have a data storage contract libraries that import the data storage contract a business logic contract that implements the libraries Question: can we use ENS, or more ...
25
votes
1answer
13k views

How to update a deployed smart contract? [duplicate]

I've started developing smart contracts with Truffle and when I edit a contract I always redeploy it by adding another migration script. There are two things that I wonder about: Is this the way it ...
6
votes
2answers
1k views

How to make a library address updatable

I want to write a contract that uses a library. This library should be exchangable. Meaning I want the contract to have an updatable (only by owner) address variable always pointing to the current ...
4
votes
1answer
47 views

Can client updates / upgrades be pushed over the ETH network?

Is it possible for ETH clients to securely receive a live push notification/version update like the way OSX, MacOS does? What are the pros and cons? : ) There could be a contract filter to gain ...
0
votes
1answer
88 views

Upgraded to geth 1.5.0: Bad block #383792

Recent Hardfork #4 Spurious Dragon has forced me to upgrade the geth node to last version. After upgrading geth node to version 1.5.0 and reseting all blockchain data, to start from scratch, I got ...
19
votes
3answers
7k views

What are truffle migrations?

As written in Truffle docs: Migrations are Javascript files that help you deploy contracts to the Ethereum network. These files are responsible for staging your deployment tasks, and they're ...
2
votes
0answers
397 views

Simpler examples of contract versioning [closed]

I want to have an upgradable contract so that I can have additional functionalities in upgraded contract. I know there are numerous of questions around it, most of them pointing towards Upgradable ...
4
votes
2answers
5k views

How to upgrade geth and mist in Ubuntu?

I set up a Ubuntu laptop specifically to install Geth/Mist 0.5.2 and have not upgraded since. I want to upgrade to 0.8.1 but need some direction. Am happy to work from terminal, but don't have enough ...
8
votes
1answer
2k views

How to edit a contract that has already been deployed? [duplicate]

I have been writing my first few contracts. So, as I understand it, once you write, compile, and deploy your contract, the only way to then interact with that contract is via something like web3.js ...
139
votes
11answers
27k views

Upgradeable smart contracts

If the contract issuer wants to have a way to upgrade the contract code, so that account data and other things carry over, can Ethereum provide for this? Also can this be done without changing the ...
4
votes
1answer
253 views

Stuck in sync process

Node type: geth/eth OS: windows 64 bit Network type: main Mist version: 0.4.0 (trying to update to 0.5.2) The problem is my mist wallet wont sync, i have taked a screenshot of Geth running and mist, ...
11
votes
0answers
452 views

Guidelines for designing contracts to handle bugfixes? [duplicate]

Most introductory guides for contract design talk about creating "mortal" contracts (contracts that include some function that triggers a suicide() call), but what about if that contract was for some ...
6
votes
3answers
1k views

What is a hardfork?

It is said that the transition from Frontier to Homestead will be done by a hardfork. What does it mean exactly? Are hardforks expected to also be used in future Ethereum upgrades?
5
votes
1answer
1k views

How to update the web3 API version in geth?

I spent a couple of hours on upgrading web3 API to v0.15.3 in geth (on Mac OSX) with no effect. I installed the newest geth and it says: web3.version { api: "0.13.0", client: "Geth/v1.3.4/darwin/...
6
votes
2answers
254 views

Do I need to prepare anything for the upcoming homestead release?

This is a canonical question. What actions should regular users miners and pool operators developers undertake to prepare for the upcoming homestead release which includes a forking mechanism.
8
votes
1answer
427 views

How hard is it for Ethereum clients to get on the new fork in case of an attack?

Vitalik Buterin writes: Assuming ~20% participation in PoS and current prices, you could stall or break the network at a cost of ~$7 million. However, unlike PoW, recovery is simpler: Ethereum just ...
14
votes
0answers
778 views

How can I update contracts after they are created? [duplicate]

Once I create a smart contract and submit it to the blockchain, how can I go about updating it? I might want to do this because I have found a bug in the current version, I want to change some of the ...