Stack Exchange Network

Stack Exchange network consists of 175 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.

1
vote
1answer
64 views

Could I update Geth without stopping running Geth? And how could I update Geth without removing data?

I'm using Geth version 1.8.17-stable on ubuntu server and syncing with "fast" mode. I want to upgrade Geth to v1.8.23 to sync blocks generated after the hard fork. But I couldn't find how to upgrade ...
0
votes
1answer
25 views

ZepplinOS: Where to set owner of the contract?

ZepplinOS contracts do not use constructors in it's zos implementation, and instead uses an initialization function that it imports from zos-lib/contracts/Initializable.sol package. In order for the ...
0
votes
1answer
14 views

Will there be any new additional changes to the Constantinople Upgrade in Feb 2019 vs the delayed one from Jan?

With the upcoming Constantinople Feb 2019 upgrade, will there be any other new changes that wasn't present in the delayed Jan 2019 upgrade? All I know is they fixed the bug they found that delayed it, ...
3
votes
1answer
46 views

Why was the Constantinople hard fork postponed?

The Constantinople hard fork — really a network upgrade — was scheduled to happen today (January 16) at block 7,800,000. Instead the upgrade was postponed. What are the technical reasons for the ...
0
votes
1answer
36 views

What are the most notable and game changing features of the new Constantinople Ethereum upgrade? [duplicate]

The Constantinople Ethereum upgrade is a big upgrade to the network. What are some of the most notable and game changing features of this new upgrade?
1
vote
1answer
33 views

What is the main use and purpose of Upgraded Standard Token?

contract StandardToken is BasicToken, ERC20 { mapping (address => mapping (address => uint)) public allowed; uint public constant MAX_UINT = 2**256 - 1; function transferFrom(address _from, ...
4
votes
1answer
33 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.
0
votes
1answer
29 views

Managing unforeseen changes in contract development

I'm reading here: Centralized Administrator All dapps are fully decentralized by default, but that doesn't mean they can't have some sort of central manager, if you want them to. Maybe you ...
2
votes
1answer
25 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
1answer
48 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
81 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
48 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
66 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
337 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
137 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
228 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
266 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
254 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
353 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
156 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
51 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
317 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 "...
3
votes
2answers
36 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
148 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
140 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
569 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
168 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
148 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
205 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
174 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
60 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
356 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
21 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 ...
3
votes
2answers
380 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
199 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
436 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
832 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
319 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
14k 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
49 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
104 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 ...
24
votes
3answers
8k 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
425 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
6k 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 ...
149
votes
11answers
30k 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
255 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
467 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?