US utility Duke Energy Corp (NYSE:DUK) on Thursday announced a 20-year contract to buy power from an up to 199-MW solar project proposed by developer Ranger Power in Indiana.